{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import datetime\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "from xgboost import XGBRegressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "iris = load_iris()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['setosa', 'versicolor', 'virginica'], dtype='<U10')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'] )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal length (cm)</th>\n",
       "      <th>sepal width (cm)</th>\n",
       "      <th>petal length (cm)</th>\n",
       "      <th>petal width (cm)</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  \\\n",
       "0                5.1               3.5                1.4               0.2   \n",
       "1                4.9               3.0                1.4               0.2   \n",
       "2                4.7               3.2                1.3               0.2   \n",
       "3                4.6               3.1                1.5               0.2   \n",
       "4                5.0               3.6                1.4               0.2   \n",
       "\n",
       "   target  \n",
       "0     0.0  \n",
       "1     0.0  \n",
       "2     0.0  \n",
       "3     0.0  \n",
       "4     0.0  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['Species']  = pd.Categorical.from_codes(iris.target, iris.target_names)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal length (cm)</th>\n",
       "      <th>sepal width (cm)</th>\n",
       "      <th>petal length (cm)</th>\n",
       "      <th>petal width (cm)</th>\n",
       "      <th>target</th>\n",
       "      <th>Species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  \\\n",
       "0                5.1               3.5                1.4               0.2   \n",
       "1                4.9               3.0                1.4               0.2   \n",
       "2                4.7               3.2                1.3               0.2   \n",
       "3                4.6               3.1                1.5               0.2   \n",
       "4                5.0               3.6                1.4               0.2   \n",
       "\n",
       "   target Species  \n",
       "0     0.0  setosa  \n",
       "1     0.0  setosa  \n",
       "2     0.0  setosa  \n",
       "3     0.0  setosa  \n",
       "4     0.0  setosa  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###### Checking for missing values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sepal length (cm)    0\n",
       "sepal width (cm)     0\n",
       "petal length (cm)    0\n",
       "petal width (cm)     0\n",
       "target               0\n",
       "Species              0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "virginica     50\n",
      "versicolor    50\n",
      "setosa        50\n",
      "Name: Species, dtype: int64\n",
      "Data for all three species is equal\n"
     ]
    }
   ],
   "source": [
    "#Checking class imbalance \n",
    "print(df['Species'].value_counts())\n",
    "\n",
    "\n",
    "print(\"Data for all three species is equal\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Visualizations / Insights"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'SepalLength vs SepalWidth')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 444.75x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot('sepal length (cm)', 'sepal width (cm)',\n",
    "           data=df,\n",
    "           fit_reg=False,\n",
    "           hue=\"Species\",\n",
    "           scatter_kws={\"marker\": \"D\",\n",
    "                        \"s\": 50})\n",
    "plt.title('SepalLength vs SepalWidth')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Petal Length  vs Petal Width ')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 444.75x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot('petal length (cm)', 'petal width (cm)',\n",
    "           data=df,\n",
    "           fit_reg=False,\n",
    "           hue=\"Species\")\n",
    "           \n",
    "plt.title('Petal Length  vs Petal Width ')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Creating train and test datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal length (cm)</th>\n",
       "      <th>sepal width (cm)</th>\n",
       "      <th>petal length (cm)</th>\n",
       "      <th>petal width (cm)</th>\n",
       "      <th>target</th>\n",
       "      <th>Species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  \\\n",
       "0                5.1               3.5                1.4               0.2   \n",
       "1                4.9               3.0                1.4               0.2   \n",
       "2                4.7               3.2                1.3               0.2   \n",
       "3                4.6               3.1                1.5               0.2   \n",
       "4                5.0               3.6                1.4               0.2   \n",
       "\n",
       "   target Species  \n",
       "0     0.0  setosa  \n",
       "1     0.0  setosa  \n",
       "2     0.0  setosa  \n",
       "3     0.0  setosa  \n",
       "4     0.0  setosa  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop(['target', 'Species'], axis = 1)\n",
    "Y = df['target']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal length (cm)</th>\n",
       "      <th>sepal width (cm)</th>\n",
       "      <th>petal length (cm)</th>\n",
       "      <th>petal width (cm)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)\n",
       "0                5.1               3.5                1.4               0.2\n",
       "1                4.9               3.0                1.4               0.2\n",
       "2                4.7               3.2                1.3               0.2\n",
       "3                4.6               3.1                1.5               0.2\n",
       "4                5.0               3.6                1.4               0.2"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 1. KNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "           metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n",
       "           weights='uniform')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "knn = KNeighborsClassifier(n_neighbors= 5)\n",
    "knn.fit(X_train, y_train)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds = knn.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1., 2., 0., 1., 2., 2., 0., 2., 0., 1., 0., 0., 1., 2., 0., 1., 2.,\n",
       "       1., 0., 1., 0., 1., 1., 2., 1., 2., 2., 0., 0., 2., 1., 2., 0., 1.,\n",
       "       0., 0., 2., 2.])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Accuracy 0.9732142857142857\n",
      "Test Accuracy 0.9473684210526315\n"
     ]
    }
   ],
   "source": [
    "print(\"Train Accuracy\", knn.score(X_train, y_train))\n",
    "\n",
    "print(\"Test Accuracy\", knn.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 8 candidates, totalling 24 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  24 out of  24 | elapsed:    7.6s finished\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\model_selection\\_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
      "  DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "params = {'n_neighbors' : [3, 5, 7, 10], \n",
    "          'metric': ['euclidean', 'manhattan'] }\n",
    "\n",
    "Grid_Knn = GridSearchCV(estimator=KNeighborsClassifier(),\n",
    "                        param_grid= params, \n",
    "                        cv  = 3,\n",
    "                        n_jobs = -1,\n",
    "                        verbose = 1)\n",
    "\n",
    "Grid_Knn_results = Grid_Knn.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'metric': 'euclidean', 'n_neighbors': 3}"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Grid_Knn_results.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "         0.0       1.00      1.00      1.00        13\n",
      "         1.0       0.92      0.92      0.92        12\n",
      "         2.0       0.92      0.92      0.92        13\n",
      "\n",
      "   micro avg       0.95      0.95      0.95        38\n",
      "   macro avg       0.95      0.95      0.95        38\n",
      "weighted avg       0.95      0.95      0.95        38\n",
      "\n",
      "[[13  0  0]\n",
      " [ 0 11  1]\n",
      " [ 0  1 12]]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import classification_report, confusion_matrix,accuracy_score\n",
    "print(classification_report(preds, y_test))\n",
    "print(confusion_matrix(preds, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Random Forest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop(['target', 'Species'], axis = 1)\n",
    "Y = df['target']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "            min_samples_leaf=1, min_samples_split=2,\n",
       "            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,\n",
       "            oob_score=False, random_state=None, verbose=0,\n",
       "            warm_start=False)"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "rf = RandomForestClassifier(n_estimators=10)\n",
    "rf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_rf = rf.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0., 0., 1., 0., 1., 1., 0., 2., 0., 0., 0., 2., 2., 1., 1., 1., 1.,\n",
       "       2., 0., 2., 0., 1., 1., 0., 2., 0., 0., 1., 2., 2., 1., 2., 0., 1.,\n",
       "       1., 2., 2., 1.])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds_rf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Random Forest Classification Report \n",
      "               precision    recall  f1-score   support\n",
      "\n",
      "         0.0       1.00      1.00      1.00        13\n",
      "         1.0       1.00      0.93      0.97        15\n",
      "         2.0       0.91      1.00      0.95        10\n",
      "\n",
      "   micro avg       0.97      0.97      0.97        38\n",
      "   macro avg       0.97      0.98      0.97        38\n",
      "weighted avg       0.98      0.97      0.97        38\n",
      "\n",
      "Random Forest Confusion Matrix \n",
      " [[13  0  0]\n",
      " [ 0 14  1]\n",
      " [ 0  0 10]]\n",
      "Accuracy \n",
      " 0.9736842105263158\n"
     ]
    }
   ],
   "source": [
    "print(\"Random Forest Classification Report \\n\", classification_report(y_test, preds_rf))\n",
    "print(\"Random Forest Confusion Matrix \\n\", confusion_matrix(y_test, preds_rf))\n",
    "print(\"Accuracy \\n\", accuracy_score(y_test, preds_rf))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Grid Search Random Forest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "            min_samples_leaf=1, min_samples_split=2,\n",
       "            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,\n",
       "            oob_score=False, random_state=None, verbose=0,\n",
       "            warm_start=False)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "rf = RandomForestClassifier(n_estimators=10)\n",
    "rf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "rf_params = ({'n_estimators'  : [10, 30, 60, 100],\n",
    "             'max_features' : ['auto', 'sqrt'], \n",
    "             'max_depth' : [5, 10, 15, 20], \n",
    "             'min_samples_split' : [2, 5, 10], \n",
    "             'min_samples_leaf' : [1, 2, 4], \n",
    "             'bootstrap' : ['True', 'False']}\n",
    "            )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf_GridCV = GridSearchCV(estimator=RandomForestClassifier(),\n",
    "                         param_grid=rf_params, \n",
    "                         scoring = 'accuracy',\n",
    "                         n_jobs = -1, \n",
    "                         cv = 5, \n",
    "                         verbose = 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 576 candidates, totalling 2880 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Batch computation too fast (0.1449s.) Setting batch_size=2.\n",
      "[Parallel(n_jobs=-1)]: Done   5 tasks      | elapsed:    0.1s\n",
      "[Parallel(n_jobs=-1)]: Done  12 tasks      | elapsed:    0.4s\n",
      "[Parallel(n_jobs=-1)]: Done  26 tasks      | elapsed:    0.7s\n",
      "[Parallel(n_jobs=-1)]: Done  40 tasks      | elapsed:    1.1s\n",
      "[Parallel(n_jobs=-1)]: Done  58 tasks      | elapsed:    1.7s\n",
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    2.1s\n",
      "[Parallel(n_jobs=-1)]: Done  98 tasks      | elapsed:    2.7s\n",
      "[Parallel(n_jobs=-1)]: Done 120 tasks      | elapsed:    3.3s\n",
      "[Parallel(n_jobs=-1)]: Done 146 tasks      | elapsed:    4.3s\n",
      "[Parallel(n_jobs=-1)]: Done 172 tasks      | elapsed:    5.3s\n",
      "[Parallel(n_jobs=-1)]: Done 202 tasks      | elapsed:    6.3s\n",
      "[Parallel(n_jobs=-1)]: Done 232 tasks      | elapsed:    7.1s\n",
      "[Parallel(n_jobs=-1)]: Done 266 tasks      | elapsed:    8.0s\n",
      "[Parallel(n_jobs=-1)]: Done 300 tasks      | elapsed:    8.9s\n",
      "[Parallel(n_jobs=-1)]: Done 338 tasks      | elapsed:   10.0s\n",
      "[Parallel(n_jobs=-1)]: Done 376 tasks      | elapsed:   11.0s\n",
      "[Parallel(n_jobs=-1)]: Done 418 tasks      | elapsed:   12.1s\n",
      "[Parallel(n_jobs=-1)]: Done 460 tasks      | elapsed:   13.2s\n",
      "[Parallel(n_jobs=-1)]: Done 506 tasks      | elapsed:   14.5s\n",
      "[Parallel(n_jobs=-1)]: Done 552 tasks      | elapsed:   15.8s\n",
      "[Parallel(n_jobs=-1)]: Done 602 tasks      | elapsed:   17.3s\n",
      "[Parallel(n_jobs=-1)]: Done 652 tasks      | elapsed:   18.8s\n",
      "[Parallel(n_jobs=-1)]: Done 706 tasks      | elapsed:   20.5s\n",
      "[Parallel(n_jobs=-1)]: Done 760 tasks      | elapsed:   22.4s\n",
      "[Parallel(n_jobs=-1)]: Done 818 tasks      | elapsed:   24.1s\n",
      "[Parallel(n_jobs=-1)]: Done 876 tasks      | elapsed:   25.8s\n",
      "[Parallel(n_jobs=-1)]: Done 938 tasks      | elapsed:   27.6s\n",
      "[Parallel(n_jobs=-1)]: Done 1000 tasks      | elapsed:   29.3s\n",
      "[Parallel(n_jobs=-1)]: Done 1066 tasks      | elapsed:   31.2s\n",
      "[Parallel(n_jobs=-1)]: Done 1132 tasks      | elapsed:   33.4s\n",
      "[Parallel(n_jobs=-1)]: Done 1202 tasks      | elapsed:   35.7s\n",
      "[Parallel(n_jobs=-1)]: Done 1272 tasks      | elapsed:   38.6s\n",
      "[Parallel(n_jobs=-1)]: Done 1346 tasks      | elapsed:   40.7s\n",
      "[Parallel(n_jobs=-1)]: Done 1420 tasks      | elapsed:   42.9s\n",
      "[Parallel(n_jobs=-1)]: Done 1498 tasks      | elapsed:   45.5s\n",
      "[Parallel(n_jobs=-1)]: Done 1576 tasks      | elapsed:   48.1s\n",
      "[Parallel(n_jobs=-1)]: Done 1658 tasks      | elapsed:   50.6s\n",
      "[Parallel(n_jobs=-1)]: Done 1740 tasks      | elapsed:   53.7s\n",
      "[Parallel(n_jobs=-1)]: Done 1826 tasks      | elapsed:   56.5s\n",
      "[Parallel(n_jobs=-1)]: Done 1912 tasks      | elapsed:   59.2s\n",
      "[Parallel(n_jobs=-1)]: Done 2002 tasks      | elapsed:  1.0min\n",
      "[Parallel(n_jobs=-1)]: Done 2092 tasks      | elapsed:  1.1min\n",
      "[Parallel(n_jobs=-1)]: Done 2186 tasks      | elapsed:  1.1min\n",
      "[Parallel(n_jobs=-1)]: Done 2280 tasks      | elapsed:  1.2min\n",
      "[Parallel(n_jobs=-1)]: Done 2378 tasks      | elapsed:  1.3min\n",
      "[Parallel(n_jobs=-1)]: Done 2476 tasks      | elapsed:  1.3min\n",
      "[Parallel(n_jobs=-1)]: Done 2578 tasks      | elapsed:  1.4min\n",
      "[Parallel(n_jobs=-1)]: Done 2680 tasks      | elapsed:  1.4min\n",
      "[Parallel(n_jobs=-1)]: Done 2786 tasks      | elapsed:  1.5min\n",
      "[Parallel(n_jobs=-1)]: Done 2880 out of 2880 | elapsed:  1.6min finished\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\model_selection\\_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
      "  DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise-deprecating',\n",
       "       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "            min_samples_leaf=1, min_samples_split=2,\n",
       "            min_weight_fraction_leaf=0.0, n_estimators='warn', n_jobs=None,\n",
       "            oob_score=False, random_state=None, verbose=0,\n",
       "            warm_start=False),\n",
       "       fit_params=None, iid='warn', n_jobs=-1,\n",
       "       param_grid={'n_estimators': [10, 30, 60, 100], 'max_features': ['auto', 'sqrt'], 'max_depth': [5, 10, 15, 20], 'min_samples_split': [2, 5, 10], 'min_samples_leaf': [1, 2, 4], 'bootstrap': ['True', 'False']},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
       "       scoring='accuracy', verbose=10)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf_GridCV.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9732142857142857"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf_GridCV.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Neural Networks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Preparing the Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###### 1. Data Scaling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop(['target', 'Species'], axis = 1)\n",
    "Y = df['target']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import LabelEncoder, OneHotEncoder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\h5py\\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  from ._conv import register_converters as _register_converters\n",
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.utils import to_categorical"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "labelencoder_y = LabelEncoder()\n",
    "Y = to_categorical(Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "scaler = StandardScaler()\n",
    "\n",
    "X_train_array = scaler.fit_transform(X_train)\n",
    "X_train_scaled = pd.DataFrame(X_train_array, index=X_train.index, columns=X_train.columns)\n",
    "\n",
    "X_test_array = scaler.transform(X_test)\n",
    "X_test_scaled = pd.DataFrame(X_test_array, index=X_test.index, columns=X_test.columns)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\scipy\\stats\\stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAE/CAYAAAC9y4P/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXmYXFW1t99VQ1fPY+axk5CETJ2EDJBASJAA0TBfZNYAF3hA+FS4KJMgoqKC0wVB7r0qKKKAEZGriFcFhDAYEoYkBMhEhk7P81hd0/r+OFXV1d1VXVXdXd1J936fp59UnbPPPru6V62ss/bavy2qisFgMBiGF7ahHoDBYDAYBh7j3A0Gg2EYYpy7wWAwDEOMczcYDIZhiHHuBoPBMAwxzt1gMBiGIca59xMRuV5EKkWkRUSKhno8fUFEVESOCb5+VETuGuoxGQYfEckQkf8VkUYR+d1QjycZRGS/iKwNvr5DRH421GMaaka8cw8aRXvQOdeLyJ9FZHKC1zqBHwKnq2q2qtameKz5IvILEakQkWYR2SUitw7kPVT1OlX95kD2aTiyEJFXgrbu6nbqAmAsUKSqnxWRK0Rk0wDfO01EfiAipcHv3Cci8qOBvIeq3qeqVw9kn0cjI965BzlLVbOB8UAl8FCC140F0oEPkr2hWCT7+/8RkA3MAfKAs4G9yd7bMHIRkWJgFaBY9hPJVGCXqvoG6F6OKIdvB5YCy4Ec4BTg3YG4n6ErxrlHoKpuYCMwN3RMRFwi8n0RORhMvzwafHydBXwcbNYgIi8F268UkbeDj7Zvi8jKiL5eEZFvi8jrQBswXUTyROTnIlIuIodF5FsiYo8xxGXAb1S1XlUDqvqRqm6M6H+eiPxNROqCY70jeHy5iLwpIg3B+/xERNKi3UBEHheRbwVfrwlGWP8hIlXBa6+MaFsUfIxvCn7Wbw10pGcYcD4PvAU8DmwIHRSRbwB3AxcFI+obgEeBFcH3DcF2Ub8PwXMhe7lVRCqAx6LcfxnwB1UtU4v9qvqriHFMFpFnRaRaRGpF5CfB4zNE5KXgsRoReVJE8qN9QBG5R0R+HXxdHEw7bgiOuUZE7oxomyEivww+yXwoIl8VkdJ+/H6PGIxzj0BEMoGLsIw/xPeAWcAi4BhgInC3qu4C5gXb5Kvqp0SkEPgz8CBQhJWy+bN0zcV/DrgWK2o5APwS8AX7XgycDsR6pHwL+LaIXCkiM7uNPQf4O/AiMCHY3z+Cp/3ATcAoYAVwKvCFxH4rjMN6SpgI/DvwsIgUBM89DLQG22wgwlkYjlg+DzwZ/DlDRMYCqOrXgfuAp4MpxoeB64A3g+9DjjTq9yGi/3FAIdZTwLVR7v8WcLOIfEFEFoiIhE4Eg5o/YX0vioN9PxU6DXwHy7bnAJOBe5L43CcBs7Fs/24RmRM8/vXgvaYDpwGXJ9HnkY2qjugfYD/QAjRgOdkyYEHwnGA5rxkR7VcAnwRfF2M93jqC7z8HbO7W/5vAFcHXrwD3RpwbC3QAGRHHLgFejjHWDOAOYCvgBfYAn4647t0EP/OXsaKn0HsFjgm+fhz4VvD1GqA99PmCx6qAEwB7cAyzI859C9g01H9T8xPz735S8G82Kvj+I+CmiPP3AL+OeH9F5N8zge/DGsADpPcyBjtwA/B60PbLgA0RfVVH2lsv/Zwbae/B7/Ha7p8j4js6KaLtZuDi4Ot9wBkR564GSof6bzUQP9FyYiORc1X178HI4RzgnyIyFwgAmcDWyAADy0CjMQEr6ojkAFYEEuJQxOupgBMoj+jf1q1NGFVtx4qu7hORXOA24HciMgUrkomafw+mkH6IlevMBBxY/0EkQq12zcG2YeX9Rwf7iRxr1HEbjhg2AP+nqjXB978JHkt0QnM08b8P1WqlN6Oiqn6sJ76Hg+mcq4BfiMhmLBs+oFFy/iIyBuuJeBXWU68NqE9w3AAVEa9DNgzWd3ZY2rBJy0Sgqn5VfRYrjXESUIMVuc5T1fzgT55ak6/RKMNy2JFMAQ5H3ibi9SGs6GVURP+5qjqPOKhqE5ajzwKmBfuaEaP5T7GitJmqmosV/UuMtolSjfWkMyniWEJVRobBJ+hILwRWi1VtVYGVqlsoIgtjXNZdMjaR70PCMrOq2q5W+qcea57rEDAlxkTsd4J9lwRt+HL6b8MA5QxTGzbOPYJgBcs5QAHwoaoGgP8BfhSMHBCRiSJyRowuXgBmicilIuIQkYuwjPZP0Rqrajnwf8APRCRXRGzBiaPVMcZ3l4gsE6ucLB34ElY66ePgPcaJyJeDk145InJ88NIcoAloEZFjgeuT/uX0HLsfeBa4R0Qyg/1+vr/9GlLGuVhBy1ysfPkirNz1a8T+u1UCk0KT7334PvQgaJ9rghOZDhHZgGWf72KlS8qB74pIloiki8iJwUtzCKZPRWQi8JVkPnwvPAPcLiIFwX5vHKB+hxzj3C3+V0RasBzgt7FygKHyxluxcttviUgT1qTl7GidqFXnfibwH0At8FXgzIjH4Gh8HkgDdmJFMBuxSjKj3gKrAqEG6ynhNGC9qraoanPw/VlYj6C7scrMAG4BLgWasb6cT/cynmS4EWuytQJ4Avgt1pOI4chjA/CYqh5U1YrQD/AT4LIY0fJLWGW+FSISsuGEvw8xaAd+gGUzNVj5939T1X3BgOEsrInag0ApVoEDwDeA44BGrKKFZ5O4Z2/cG7zPJ1ifZSPDxIYlOIlgMPQbEfkeME5VTdWM4ahERK7HmmyN+vR8NGEid0OfEZFjRaQkmM5ajlUq+YehHpfBkCgiMl5ETgymRGdjPXUPCxs21TKG/pCDlYqZgFUi+QPgj0M6IoMhOdKA/8IqSmjAqqt/ZEhHNECYtIzBYDAMQ0xaxmAwGIYhxrkbDAbDMGTIcu6jRo3S4uLiobq9YZizdevWGlUdPRT3NrZtSCWJ2vaQOffi4mK2bNkyVLc3DHNEpLsMxKBhbNuQShK1bZOWMRgMhmGIce4Gg8EwDDHO3WAwGIYhw3YRk9frpbS0FLc7pvqoYRiQnp7OpEmTcDqdQz2UQcHY9cihv7Y9bJ17aWkpOTk5FBcXE6E9bRhGqCq1tbWUlpYybdq0oR7OoGDsemQwELY9bNMybreboqIi8wUYxogIRUVFIyqKNXY9MhgI2x62zh0wX4ARwEj8G4/EzzwS6e/feVg79+HMK6+8wplnnpnw8f7y3HPPsXPnzvD7NWvWJFTLXV5ePiDjqa6uZt26df3ux3BkY+x64DDO3ZAQ3b8EifLDH/6Qa665pt/3Hz16NOPHj+f111/vd18GQ4jhbNfGuaeI1tZW1q9fz8KFC5k/fz5PP21tfrR161ZWr17NkiVLOOOMMygvLwesiOHLX/4yK1euZP78+WzevBmAzZs3s3LlShYvXszKlSv5+OOPkxrDVVddxbJly1i8eDF//KOlxvv4449z/vnns27dOmbOnMlXv/rV8DU///nPmTVrFmvWrOGaa67hxhtv5I033uD555/nK1/5CosWLWLvXmsf7t/97ncsX76cWbNm8dprr0Udw+9///twZOL3+7nllltYsGABJSUlPPTQQ4C1ovOOO+5gxYoVLF26lHfeeYczzjiDGTNm8Oijj4b7Ovfcc3nyyScT/vyGgcfYtcVRYdeqOiQ/S5Ys0VSyc+fOlPYfj40bN+rVV18dft/Q0KAet1tXLFusVZ9YY3vqqaf0yiuvVFXV1atXh9v/85//1Hnz5qmqamNjo3q9XlVV/dvf/qbnn3++qqq+/PLLun79+h73jTx+++236xNPPKGqqvX19Tpz5kxtaWnRxx57TKdNm6YNDQ3a3t6uU6ZM0YMHD+rhw4d16tSpWltbqx6PR0866SS94YYbVFV1w4YN+rvf/S58n9WrV+vNN9+sqqp//vOf9dRTT+0xln379ulxxx0Xfv/II4/o+eefH/48tbW1qqo6depUfeSRR1RV9ctf/rIuWLBAm5qatKqqSkePHh2+vrS0VOfPn9/jPtH+1sAWHYa2fUTatcejK1as0KqqKlVVferXv9IrLzlftWavrj75ZGPX2je7Vu2fbQ/bUshIvvG/H7CzrGlA+5w7IZevnzUv5vkFCxZwyy23cOutt3LmmWeyatUqdryzmR0f7uK09eeCMwO/38/48Z3bpV5yySUAnHzyyTQ1NdHQ0EBzczMbNmxg9+7diAherzfhMf7f//0fzz//PN///vcBq9Li4MGDAJx66qnk5eVZn2XuXA4cOEBNTQ2rV6+msLAQgM9+9rPs2rUrZv/nn38+AEuWLGH//v09zpeXlzN6dKe+0d///neuu+46HA7L7EL3ATj77LPDv7eWlhZycnLIyckhPT2dhoYG8vPzGTNmDGVlZQl//uHOEWPXO3awY8cOTjvtNAD8nnbGjy6Ejibwe4xdMzR2PSKc+1Awa9Ystm7dygsvvMDtt9/O6aefznlnrGHerOm8+b+/hPELQbpmxbrPjosId911F6eccgp/+MMf2L9/P2vWrEl4DKrK73//e2bP7rp/8b/+9S9cLlf4vd1ux+fzoUlu3BLqI3R9dzIyMrqUcqlqzAqAUF82m63L2Gw2W7hvt9tNRkZGUmM0DCxR7fq885g3bx5vvvkmeFqhZhfkjAe/FwJeJNDVNoxdD45djwjn3lskkirKysooLCzk8ssvJzs7m8cff5zbvvA5quvqeXPL+6z4zBy8amfXrl3Mm2eN7+mnn+aUU05h06ZN5OXlkZeXR2NjIxMnTgSsnGIynHHGGTz00EM89NBDiAjvvvsuixcvjtl++fLl3HTTTdTX15OTk8Pvf/97FixYAEBOTg7Nzc1J3X/WrFldIp/TTz+dRx99lDVr1uBwOKirq+sS5cRj165dzJ8/P6kxDGeOGLu+7Taqq6t58803WTF3Cl6vj137q5g3x3K+T//2SU5Ze7qx6xikyq7NhGqK2L59O8uXL2fRokV8+9vf5mtf+xppdhsb/+sBbr3vQRYet4xFixbxxhtvhK8pKChg5cqVXHfddfz85z8H4Ktf/Sq33347J554In6/P6kx3HXXXXi9XkpKSpg/fz533XVXr+0nTpzIHXfcwfHHH8/atWuZO3du+BH34osv5oEHHmDx4sXhiad4ZGVlMWPGDPbs2QPA1VdfzZQpUygpKWHhwoX85je/SerzvPzyy6xfvz6pawwDS1S7Tktj48aN3HrrrSxceSqLzriUN976FzhcIDYKcjKMXfdCyuw6kcR8Kn6G+4RqVGr2qB5+x/ppq+9yavXq1fr2228P0cA6aW5uVlVVr9erZ555pj777LP96u/ZZ5/VO++8cyCGpqtWrdK6uroex82E6hGC32vZdmNZ+NDqE0/Qt//ypGrAP4QDOzrtWrV/tm0i98Ek4ANHevB14hNIg8k999zDokWLmD9/PtOmTePcc8/tV3/nnXceA7ErUXV1NTfffDMFBQX97suQIjyt1r+u7M5jNjuogqdtaMYUZCTatWiSkw0DxdKlSzWVu9V8+OGHzJkzJ2X994nKD8CZCe4Ga8IpZ9xQj2hYEO1vLSJbVXXpUIwnlbZ9RNp1iKYyaKmCcSVgC8aNAR9UbDf23kf6Y9smch9MNAA2h1UlE0guz2gwHPF42608uy3CrdgcYE+zzhkGFePcB5OA3zJ8sYEa524YZvjcnWnHSJwZSTt3X8CH2zdy1D5TgXHug4UGAAWxWz8mcjcMJwJ+8HssR94dRwb4OxK2eV/AxyeNn7C3YS/lreUDPNCRg3Hug0UgYP0rtuAkU2BoxzOCEJF1IvKxiOwRkdt6aXeBiKiILI04dnvwuo9F5IzBGfFRSCjKjhW5R7aJQ3V7NR6/B5fDRV17nYng+4hx7oNFKA0jtgHJufdVArWsrIwLLrgg6rlIudP77rsvfHz//v0JL7L48Y9/zK9+9aukx9Wdn/zkJzz22GP97kdE7MDDwKeBucAlIjI3Srsc4IvAvyKOzQUuBuYB64BHgv0ZuhNywM5enHsCqZmXXn6JS86/hFxXLsW5xdjERp27Lu51I82uE8E498EiFKnb7MHIfWjSMhMmTGDjxo1x20V+CRLF5/Pxi1/8gksvvbQvQ+vCVVddxYMPPtjvfoDlwB5V3aeqHuAp4Jwo7b4J3A9EhonnAE+paoeqfgLsCfZn6I7XDQjYXT3P2dOsgCaBCNztc6Oq5LvycdgcZDmzaPY0x5UQGIF2HRfj3FNED2nUZ54BYOu721h91iUsOe2ClEijfuYzn2Hbtm0ALF68mHvvvRewVvX97Gc/6xKttLe3c/HFF1NSUsJFF11Ee7sVWd122220t7ezaNEiLrvsMsCSNb3mmmuYN28ep59+erhtJC+99BLHHXdcWEBpz549rF27loULF3Lcccexd+9eXnnlFVavXs2FF17IrFmzuO2223jyySdZvnw5CxYsCK8SzMzMpLi4OPx76AcTgUMR70uDx8KIyGJgsqr+KdlrRxoxJX+3bGH1BdewZOnSnnZ9002sPPsK5p/wqbh27fa5EYQsZxYAOWk5+AI+1n1mnbHrJDHOPUW8+OKLTJgwgffff58dO3awbu2n8Hq9/L//+Cobf/XfbH3xt1x11VXceeed4WtaW1t54403eOSRR7jqqqsAOPbYY3n11Vd59913uffee7njjjt6ve/JJ5/Ma6+9RlNTEw6HI7wJwKZNm1i1alWXtj/96U/JzMxk27Zt3HnnnWzduhWA7373u2RkZPDee++FdaZ3797NDTfcwAcffEB+fj6///3ve9z79ddfZ8mSJeH3l112GTfccAPvv/8+b7zxRlgB8/333+c///M/2b59O0888QS7du1i8+bNXH311WEtbIClS5fG1NNOgmiKTuEwUERswI+A/0j22i4NRa4VkS0isqW6urpPAz0a6GHX69ZZdn3bPWx87GG2bt0a3a7/+gce+c6dce3a7Xdjs9mwBUX1sp3WgqjlK5cbu06SESEcxl9usxZSDCTjFsCnvxvzdA9p1KUL2PHBW+z44ENOO+9S8Pvw29IGXPJ31apVPPjgg0ybNo3169fzt7/9jba2Nvbv38/s2bO7CB69+uqrfPGLXwSgpKSEkpKSmP1OmzaNRYsWAb1LoYYWXDQ3N3P48GHOO+88ANLTO3Oxy5YtC3/uGTNmcPrpp4d/Zy+//HK43ZgxY/joo496/bwJUApMjng/CYjUV80B5gOvBJX9xgHPi8jZCVwbRlX/G/hvsBYx9XfQCXEk2PWqVezYvp0dH+3mtAuuBLszupS1w8XJy0t6teuABvD4PdgjpjWcdidOm5PFJyzm6Z89bew6CUaGcx8CekijnnIS5605jnlz5/Lm3/9oreYbV2Ll34MMhOTvsmXL2LJlC9OnT+e0006jpqaG//mf/+kSeXS/RyJ0l1KN9vgaKYXaW460u/RppCxqpMTqAEmhvg3MFJFpwGGsCdJw8lRVG4FRofci8gpwi6puEZF24Dci8kNgAjATSP3z9BFMVMnfs8+0pKz/+XfIHtPjGhGxFjcBoDHt2u1zo2gX5w6Q4cxgVsksY9dJMjKcey+RSKroIY36s//itn8/n+qaGt7c/A4rjh2H1+Nm1979Ayr5m5aWxuTJk3nmmWe46667qK6u5pZbbuGWW27p0fbkk0/mySef5JRTTmHHjh3hnCaA0+nE6/XidDoT/sxz5swJK+Xl5uYyadIknnvuOc4991w6OjqSVv/btWsXJ554YlLXdEdVfSJyI/BXwA78QlU/EJF7sQSYnu/l2g9E5BlgJ+ADblA9glafHQl2/fjj3Hbz/+uUsl5zGl6vt6eU9YnL2bT5XfJyc2LadYe/AyCckgmR4cigyd7EpMmTjF0ngcm5p4ge0qhf+RJpaU42PvMMt979TRauvYhFxy1LieTvqlWrGDt2LJmZmaxatYrS0tIeeUmA66+/npaWFkpKSrj//vtZvryzEOTaa6+lpKQkPPGUCJ/+9Kd59dVXw++feOIJHnzwQUpKSli5ciUVFRUJ9wVWrnPt2rVJXRMNVX1BVWep6gxV/Xbw2N3RHLuqrlHVLRHvvx28braq/qXfgznKiSr5a1NLyvqub7Bw4cLoUtZr1nLdbffx84d+AES3a7fPjQ1bD+eebrdSHyesPMHYdTIkIh2Zip8RJ/nbeNiSQw0EVNsbrNcdLeHTR4rkb38599xzddeuXf3u55133tHLL788obZG8neIaSq37Nnv63Gqi12Xb1OtPxCzm08aPtG99Xt7HPf4PbqjeofWtNUM2JCTZSjsWtVI/h4dqD8oPSCd2+sNw1Wq3/3ud8NlcP2hpqaGb37zmwMwIkPK8XWAzdll/igqdpfVNgZuvxuXo2edvEMc2G32cNpmKDga7Xpk5NyPBDTQ6dSjOPdXXnll8MeUAmbPnt1jb8u+ENps2XAU4PeAPXoOu4td29PA2xq1nS/gwx/w44qyCEpEcNlduP1DJ0NwNNq1idwHC1UraodhHbkbRiB+r+W44+FIs9pGqTjx+q0S3zRb9H5cdhcdvo64K1UNnRjnPljEidwNhqMS1aBzT6D6xJ4GBNt3wxPwAJAW4z8Jl91FQAP4j6BipSMd49wHi2iRe8A4d8NRTsAPBBKL3ENt/J4ep0L59FjOPXTcE+VaQ3SMcx8sNED4120id8NwIbQXcCKRuyO2c/f4PThsjh5lkCFC6Rrj3BPHOPfBIoGc++OPP05ZWdTV7V244ooroirgxTreX0aSTKohSULOtpfIPWzX4ci9Z9WLJ+DhzhvvjGnXf/zDHwHoCAxcxcxwt2vj3AeNyJy7ALY+O/fBZiTJpBqSJJQ/t8WO3MN2LTarna9n9O3z+2JG7WCtWnXaneGJ14FguNu1ce4pYv/+/Rx77LFs2LCBkpISLrjqS7S1W6VcW7duZfW//TtLVq8Ly6Nu3LiRLVu2cNlll7Fo0SLa29u59957WbZsGfPnz+faa69NqlJg69atrF69miVLlvSQYL311ltZvnw5s2bNCqvTtbW1ceGFF4ZlUo8//ni2bNky4mRSDb3Tw64v3UBbezvYnVFtroddewLc+70fdrHrQCCAN+CNqwfjsruMXSdDIiudUvEz3FeofvLJJwropk2bVFX1yovP1Qe+cbt6PB5dsWKFVu14VbVuvz711FN65ZVXqmrPVaq1tbXh15dffrk+//zzqqq6YcMG/d3vftfjnqHj4XtUVamq9rjHzTffrKqqf/7zn/XUU09VVdUHHnhAr732WlVV3b59u9rt9vBYsrKyunwuu92u7777rqqqfvazn9Unnniix1juvvtuffDBB8Pvly9frs8++6yqqra3t2tra6u+/PLLmpeXp2VlZep2u3XChAl69913q6rqj3/8Y/3Sl74Uvv5b3/qWfv/734/6uzYrVAePHnZ96Wf1gbv/I67Nhe267hOt/fD1cH+XX365PvuHZ3VH9Q69+PKLe7Xr/XX7ddGyRSPGrlX7Z9sjYhHT9zZ/j4/qBlZi89jCY7l1+a29tpk8eXJYIOjyfzuTBx97mnUff8yOHTs47aJrQGz4sXeRR43k5Zdf5v7776etrY26ujrmzZvHWWedFXdsH4fuEVww0V2C9fzzzwe6Spxu2rSJL33pSwDMnz9/xMqkHk0cEXZ9wZk8+N+/6rTrGDYXxp7Gy6+9wf0bbgrb9cxjZzLrpFm9pmUADuw5wO4Pdxu7TpCEnLuIrAP+E0tV72eq+t1u56cAvwTyg21uU9UXBnisRx1dHjM1gIgNVWXevHm8+fzjYHNA0Yyo17rdbr7whS+wZcsWJk+ezD333BOWHY1H+B5vvhn1fEiK1G63h6VINYmUz3CWSTXEp4tdB/yIzRbX5kK4vQG+cMd32LJ5M5OnzeCee+6hrb0NAFucLLFd7Bxz7DH8661/RV3Jauy6K3Gde8QGw6dhbV7wtog8r6o7I5p9DXhGVX8a3FT4BaA4BePtE/EikVRx8OBB3nzzTVasWMFvn/sLJ52wnNmzZ1NdXW3Joy5b3EUeNScnh+bmZoCwAY0aNYqWlhY2btwYcwPg7oTvEbx3dwnWaJx00kk888wznHLKKezcuZPt2zs3gRhJMqlHE0eEXT/7J05acXyvNtfFrr1WEcGogtywXX/mnM8A8TXY586ZS11NHZte38SpJ59q7DoOiUyoJrLBsAK5wdd5xNitZqQxZ84cfvnLX1JSUkJdQyPXX72BtLQ0Nm7cyK33fp+Fq8/qIo96xRVXcN1117Fo0SJcLhfXXHMNCxYs4Nxzz2XZsmUJ3zd8j1tvjSrBGo0vfOELVFdXU1JSwve+9z1KSkrIy8sDRphMqiEuXe26geuvvqJXm+ti11k5XHPpeSxYcnzYrgMaQETipmWy0rP40S9+xF133GXsOhHiJeWBC7BSMaH3nwN+0q3NeGA7VmRfDyyJ1+9ImFCdN2+e9SYQsCRRm8o7G9TuVa08cuRbfT6ftre3q6rqnj17dOrUqdrR0dGvPgdLJtVMqA4eXeza57HsuqUq8Q4C/uB3oSx86GDTQd1VF99O/AG/7qjeoZWtlQnf7mi2a9XUT6gmsknwJcDjqvoDEVkBPCEi81W7FnKLyLXAtQBTpkxJ7H+f4UDo1xD52Cn2I2qFaltbG6eccgperxdV5ac//SlpaQksKe+FkEzqzJkz+9WPkf89QgnEr3HvQZRad2/AizOBPmxiw2Fz4A0kXus+ku06EeeeyCbB/w6sA1DVN0UkHWtfyqrIRjoUmwgPEcXFxezYscN6E554iXjslJ6LmIaSnJwctmzZEr9hEhyNMqmG3uli1/7gxKAtyaI7e1oXCQKf30eWMyuhS5225BYyjWS7TiTnHt5gWETSsDYY7r492UHgVAARmQOkA9UDOdCjm2iR+5Hl3A2GpAn00bk7Op27quINeHEk2IfT7kwqch/JxHXuquoDQhsMf4hVFfOBiNwrImcHm/0HcI2IvA/8FrgimBsyQGfkLlEid/NrMhythEXD+hK5W7ruvuB/EM5EhMewIndfwJdUieNIJaG/ilo16y90O3Z3xOudgKlTi0XUnHuEeJjE2Z7MYDgS8fsASd5+7U5Cuu5eDTr3BPP2TpszrOvukBGxBrPPGG2ZwSBWzh2hOYAcAAAgAElEQVRMasZw9BLwWSmZOPXpPQgtQPJ7wimWZJw7YFIzCWCc+2AQL3IP0l/J33g8+uijUaVKI+VO33vvPV54ofMh7Z577uH73/9+3L5VlU996lM0NTUlPa7urF27lvr6+n73E0JE1onIxyKyR0Rui3L+OhHZLiLvicim4EI8RKRYRNqDx98TkUcHbFDDgUBiOzD1sOvQNX5POC3jsDkSsuuwc4+YVB2pdh0P49wHhSg5d1vfnXtfue666/j85z/fa5vuX4JEeeGFF1i4cCG5ubnxG8fhc5/7HI888ki/+4EuK6w/DcwFLgk57wh+o6oLVHURcD/ww4hze1V1UfDnugEZ1HDB70toMrWnc+/ctMMX8CEIdrGjgQC+hgZ8NTVojF3KQrn5yMh9JNp1IhjnniK6SKMuPYELrvmKJY1KUI739DNZsu5SzvjMWQMi+VtVVcWSJUsAeP/99xERDh48CFjCRW1tbV2ila1bt7Jw4UJWrFjBww8/DIDH4+Huu+/m6aefZtGiRTz99NMA7Ny5kzVr1jB9+vSY+tNPPvkk55zTuXD5V7/6FSUlJSxcuJDPfe5zgPXEcf3113PKKacwffp0/vnPf3LVVVcxZ84crrjiivC1Z599Nr/97W/78muPRtwV1qoaGZZl0XMdhyFIF7teczYXXPn/aGuztGESkvxtb+feb32bZZ/5HPOXr+bmG2+2Vqb6/QSamwk0NeOtqMB7qBRV7WHXTruT8sPl+AK+kW7X8UlkpVMqfkbCClVC0qht9XrlRWfrA9+9r1Ma9dA+1cPv6FNPPDZgkr9z587VxsZGfeihh3Tp0qX661//Wvfv368nnHCCqqp+/etf1wceeEBVVRcsWKCvvPKKqqrecsst4VWHjz32mN5www3hPr/+9a/rihUr1O12a3V1tRYWFqrH4+lx7ylTpmhTU5Oqqu7YsUNnzZql1dXVXT7Hhg0b9KKLLtJAIKDPPfec5uTk6LZt29Tv9+txxx0XlltVVT3mmGO0pqYmod91b6v4SGCFdfD4DcBe4BAwM3isGGgF3gX+Cazqfl20n+G+QhXQTa+9pnr4Xb3y8ov0gQceSFzyV4P2UPmhas0ePe+i8/S/fvNf2lFaqpefc44+/eST6q2u1rbt29VbV6eqPe36gUcf0Ld2vDXs7VrVSP7GpeK+++j4cGBlNV1zjmXcHXf02iYsjdpWx+Xnf4YHf/0n1q0PSqOuPwd8HfjFwfgJE6Nen6zk78qVK3n99dd59dVXueOOO3jxxRdRVVatWtWlXWNjIw0NDaxevRqwHhf/8pe/xOx3/fr1uFwuXC4XY8aMobKykkmTJnVpU1dXR05ODmBtaHDBBRcwatQoAAoLC8PtzjrrLESEBQsWMHbsWBYsWADAvHnz2L9/f1hydcyYMZSVlVFUVBRzXAmSyAprVPVh4GERuRRLCG8DUA5MUdVaEVkCPCci87RrpG/dZAhWXw+pXa88ASq2c/nFn+XB/3mCdevWhSV/A6r4fJYcr0Z52nz55Ze5/75v0tbWRnVjE7Nmz8Rf0oCkpWFLS8NeVIS/sQlfZSX2vLwedv3MH5/BYXOMdLuOy4hw7kNFWOUuaOBdpFFffQmqP4KCYsgo6HFtXyR/V61axWuvvcaBAwc455xz+N73voeIcOaZZ3Zpp6pxFfgi6S6FGilZGsLhcBAIBLAFP2Os/iOlT7vLoqZICjWRFdaRPAX8FEBVO4CO4OutIrIXmAX0WPKoI2j1tYh0rk4VOyKCqnLsnLk88cf/o8PXmS/fW91CIMLBh+36pf9lcqGLG3/8PwRa2kEVCdqDiOAYMxrPgQP4m5p62PU37/smCFz2b10Fv0aYXcdlRDj3eJFIqghLo5Ycw2//+FdOOvHETmnUtzazYkYuXk8Hu/Z9MCCSvyeffDJf+9rXOPnkk7HZbBQWFvLCCy/wne98p0u7/Px88vLy2LRpEyeddBJPPvlk+FzkGJJh9uzZ7Nu3j2OOOYZTTz2V8847j5tuuomioiLq6uq6RDnxUFUqKiooLi5OehxRCK+wBg5jrbDusgGmiMxU1d3Bt+uB3cHjo4E6VfWLyHRgJrBvIAY1EAypXb+xiRUzi/jtxuc46aSTKJpYTEVlFe9u2cy6T52MnQDbPvgQx8QZ2NIyqK1vACLsesxYmhtK+evzf+WC09YhLhdi76yXt2VnI2lp+Ovqeth1QWEB//zbP3nkh10nJ0eYXcfFTKimkLA06vGrLcnf66/vlEa942ssXHsRi05YM2CSvyGjOfnkkwFLyzo/P5+Cgp5PBo899hg33HADK1as6BJJhHSvIyeeEmH9+vW88sorgPUoeuedd7J69WoWLlzIzTffnHA/YE2KnXDCCeF9KvuDJrbC+kYR+UBE3gNuxkrJAJwMbAuuvN4IXKeqdf0e1FHOnDlz+OUTT1Ky9kLq6hu46PNXUdPm59HHn+SR++9l9YplnLBsCTvf28KMMVmce9FlXHfd9SyMtOsTTuHcq25m/qL52Hx+7NnZXe4hItjzCwi0tTFlwgSg066PX3k82XnZ5OXn9RjbSLHrhEgkMZ+Kn5EwoRqWRm0qt2ROA/7OBn6fday5YmgGOMCUlZXp2rVrB6SvL37xi/r3v/894fZG8nfwCNt1c5Xq4Xe0rb1dtx1q0L1VzeoPBKJe0+r26rZDDXqotrXzYEeLusve1b2l27Vt+3b1NTf3uM7f0WFNrFZ1lRSua6/THdU7tMPXP+neRBhKu1btn22byH0wCOcce1/EdDQzfvx4rrnmmgFZ7DF//nxOPfXUARiVIWUEvChwsMGDwy5MKczEFiMfnelyMConjbo2D60dwfyzPQ0fkB5SDY6Sh7alpWFLT8ff3NLleEhkLLQAKpUczXZtnHuK6Cr5G8DS4Ih07mIdGybOHeDCCy8ckMUe11xzzQCMxpAKwnYd8BEQOx2+AJMKMnDYe3clY3LScdhtlDe6rQoamwOf2Ej3AN3y7ZHYcnIItLWhEdvXDaZzh6PXro1zHxS06+rUEEb213CUEvB78Qbs5GU4yUmPL0Fgtwljc1y0eXxW9C6Cz2bH5QVbZmbM62zZ2YASaOmM3kOCYYPl3I9WhrVz1yg1tkOCBqKLK4kNYiyzNiTGEfM3HkSOhM/s83rxYmdsbnrC1xRkpuGw2ahpsbTcAwEbNgV7b849MxOx2/FHVLqEInevDm/xsP7+nYetc09PT6e2tvaI+CKgJnJPBapKbW0t6emJO5ijnSPBrgMBhYAXm91BujNxuV+bTSjKTqPJ7cXt9YPfCnhsvfz9RARbdjaBlpbwZxYRHDbHsI7cB8K2h22d+6RJkygtLaW6+gjYEKq1xlLQq+vm4JsrwWaHyt4XJxlik56e3mNV4XDmSLDrNo+P9LZy1JmFvT656NkfUKqa3LRW2nG015LWoThFEFvsODPQ1oa/oQGHx4M4rRRQdVs11bZqmtL7P9F5pNJf2x62zt3pdDJt2rShHobFby+BxkNw3aaux39xk6Wqd8WfhmZchqOOI8GuL3vkJZ6s+ix66j3I0puSvv5XG9/n+ffL+O77d1BU286qP/4JRh0Ts73n4EH2XnY54+75OgUXXwzAT/7xE6rbqnnmrGf6/DmGO8M2LXNE4XODI8rjVVoWeFoHfzwGQx8pa2jnwKEDAEj26D71cenxU3F7AxRWeWgpDFiBTy84J0/GMXo0bW93qj6MzhhNdfsR8FR+BGOc+2Dg64ju3J2Z4G0b/PEYDH3kLzsqGE2j9SZrTJ/6WDgpj5mFaRQ1BvDlxnfuIkLmsqW0bd0azruPyhhFbXvtsM679xfj3AcDn7tzg4JI0rJN5G44oniv6j2+8eY3aPVGt8sXd5SzsDDoUPsYuYsIF07yYVMg1w8NvTt3gIwlS/BVVOA9bGm+jckcg6LUuUe8GkRMjHMfDGJF7mmZxrkbjhhaPC3c+NKNbNy1kTte6ylK1tju5Z2DDawcF1xQlNU35w6wPC243VxeGjSWxm2fuXQpAO1brdRMUbolmWuce2yMcx8MfG5wuHoeNzl3wxHEPw7+g8aORhaNXsQrpa/Q4G7ocv7NvbX4A8rcnGB1Vz+cu73cyts3ZWajjQfjtnfNnIktN5e2re8AUJhhqTHWttf2eQzDHePcB4OYOfcs8Hd0amMbDEPIlsotjNUcbn3ay49+6uHtbS92Of/a7mqy0uyMd7aAKy96wJIgngP7aUmHBls+ntoDcduLzUbGggW0b98OmMg9EYxzHwxiRu7BlXkx8psGw2CypWILF+4bi/1f7zO+Htoe/3WX82/ureWE6UXY26r7nG8PoYfKKC+AFn8RjpZyCPjjXpO+YD4du3YRcLspTDeRezyMcx8MfJ7YpZAAHlMxYxhaqtuqKW0pZcm/6kifP58PThhH8Wv7UI8lFVDX6mFfTStLiwuhpbrPlTIh7IerqCgU8gtmYFcf2tTb5lgWGfPng9+P+8MPyXJmkWZLM5F7LxjnPhjEitydIeduInfD0LK3cS85bUrmgSpyP72O9uPnkuZVWre9D8DWA9YE6NLiAmithqxRfb5XoKODtNomKgvtzJ6xEID9uz+Ie116cF9S9/YdiAhFGUXUuk3kHgvj3FONqpVX7y1yN2kZwxCzv3E/x5RZNeQZJSXkLTsBgIo3XgIs5+60Cwsm5kFrFWT3PXL3HjyIKDSPzWbxouMA+OjDbXGvc44di2P0aNwfWFLahemFxrn3wrCVHzhi8HVY//aWczeRu2GI2d+0n2MrHWDzkT53LtPa0jk0Cka/vRmAdw7WM3dCHum2ALTX9yst4zlgTaC2j88nb9x0fNipO/RxQtemL1hA+/ZO517TXtPncQx3TOSeanzBsrGozj24b6TJuRuGmP2N+5lX5cI1Yzq2rCxm5M/gk7GC7DtIIKDsLGuiZGKeJYIH/UrLeA5Zde3+8aPA7qAtYwJ57lL2VbfEuRLS58/D88kn+FtaTFomDsa5p5reIndnKHKPb9QGQyrZ37Sf8TV+XDNnApDpzKR+fBau2hb2H6yipcPH/Im5VkoG+pWW8VVU4HEK6QXWfxDO0dOZIpW89FFV3GszFiwAVdw7d1KYXkidu+7IkPU+AjHOPdWEI/fecu4mcjcMHb6Aj6qmMrJr23FOnRo+7p5iOfC9W6x8+LwJedZkKvQrLeOtqqQ+10ZBsJwxY8wxTLNV8Y8P4zt31+zZAHR89DFF6UX4Aj6avc1xrhqZGOeeasKRe2+lkCbnbhg6atprGFUfQFRJi3Du9unFAFRv/winXZg5Ntsqg4R+pWV8lZVUZwfIT8+3DhROI4dWdu0/SJO7d314x+jR2AsKcO/62KxSjYNx7qmmt5y700yoDgYisk5EPhaRPSJyW5Tz14nIdhF5T0Q2icjciHO3B6/7WETOGNyRDw4VrRWMr7NSG5HOPbd4Jh4HePbuZeaYHFwO+4CkZTwV5dRlQ4GrwDpQYOnTT9QKXtvV+wSpiOA6djYdH+8KL2Qyte7RMc491fQWuYecu0nLpAwRsQMPA58G5gKXRDrvIL9R1QWqugi4H/hh8Nq5wMXAPGAd8Eiwv2FFeWs544M6XmnFxeHjE3InUpkPjqqDzB6XYx1srQZHRmcxQJJoIIC/qobaXCIi9+kAzEmv5R8fVsbtI33WbDp276bQaV1vIvfoGOeeavy9TKjabJaDN5F7KlkO7FHVfarqAZ4CzolsoKqRe7VlAaEZunOAp1S1Q1U/AfYE+xtWVLRWMKZBkews7Pn54eMTsyZSlS8UNlVxzJigM2+ptgTDom34ngD+ujrw+ajLlojIvRiAVUXNvLq7Ju4EqWv2bNTtJr/Geio2kXt0jHNPNb1NqIJRhkw9E4FIwfDS4LEuiMgNIrIXK3L/YjLXBq+/VkS2iMiWI2Lf3iSoaK1gbIudtPETkAinPS57HFV5MLa1kVkh595a1S9dGW+lFZnX5URE7mmZkD2Oeem11LR0sKuy9+qx9GOtSVXXJ+UIYsohY2Cce6rprRQSTOSeeqKFmD1CQ1V9WFVnALcCX0vm2uD1/62qS1V16ejR/RPVGmwqWisY0+LAMW5cl+NjM8dSmS9ken0c4woKe7VW90vq11dp5ezrciIid4DCaUzQCgA27ek97542YwbY7Xh37SbflU9du4nco2Gce6qJG7lnm5x7aikFJke8nwT0plL1FHBuH689Kqlur6agyY+zm3PPcmZRU2AFJaNbgg63pb/O3XLgdTmQ7+pMAVEwDVfTAaaPyuL1OM7d5nKRNq04PKlq0jLRMc491YQi92jb7EFwNyaziCmFvA3MFJFpIpKGNUH6fGQDEZkZ8XY9sDv4+nngYhFxicg0YCaweRDGPKg0ttSS1ezFMX5cj3N1ubkABMoOQyBgRe790ZWprCRgE9pzXWQ4MjpPFE6D5nJWT8/hrX21eP2BXvtJnzWLjl27zCrVXjDOPdUklHM3kXuqUFUfcCPwV+BD4BlV/UBE7hWRs4PNbhSRD0TkPeBmYEPw2g+AZ4CdwIvADaoaX3j8aKPaco7OsT2de3VGHgDeikpwN4D6+52Wac9LJy+joEt+P1QOeerYNto8ft471BCjB4u0GTPwlpUx2pZnIvcYGOGwVBMv556WDS3xV+YZ+o6qvgC80O3Y3RGvv9TLtd8Gvp260Q0tbd42suqtAMTZLXL3+gPUai4dTsFXWdlpp/1MyzTnOSlIL+h6osgqh1ycVYtNnGzaXcOy4sKY/bhmzABVptbb+afPRO7RMJF7qokXubtywd0U/ZzBkGLq3HUUNltzxN0nVEvr2wn4cqnLAW9lxYAsYPJWVlGfa+uabwcYNQuArKbdzJ+Yx5t7e3fYadOt/wzG1fhp8bbQESo5NoQxzj3VxIvc03Ohwzh3w9BQ664lP1is5Sgq6nJuf00rAW8utTngLi+L0JXpR+ReUUFNtnatlAFw5UDeZKj+mOXFhbxf2kCHL3YGLK24GGw2iiqslGa9u77PYxquGOeeanwdYHOCLcbCRlcudDRbk1UGwyBT115HbpuiDge24ORpiE9qWlFfDnXZwfr0lv6JhvlbWgm0tlKZ6emscY9k9LFQ/RFLiwvo8AXYcTh20GNLSyNt8mRyyhoBs0o1Gsa5pxpfjF2YQqTnAgoeo2xnGHzq3HXktYKtML/rBCeWc8+w5VGbC1pdizZXgdghoyBGb73jq7IWMB3O7OgZuQOMng01u1ky2ZrE3bK/94nStGOOwXXI+g/HVMz0xDj3VBNr/9QQrqBmh8m7G4aAkHN3FvVUeTxU38b4nNHUZQvi9+OvKrXUIG19cxu+ilCNu8SO3H1uRvvKmTYqi7f3955qcU2fjpRWYPeridyjYJx7qokXubuCj8Im724YAurcdRS026I698P17UzKHU1d0ES95RX903EPr04lRuR+rPVv9ccsnVrA1gN1BAKxdWbSZkwHv5+xDUZfJhoJOfd4kqnBNheKyM5gvfBvBnaYRzHxIvf04DfHRO6GIaDWXUt+m/SYTFVVSuvbmZo/mvocy034qmv7pSvjC+nKZBMjcrc0Y6j+iGXFhdS3edlXE3uBn2vGDACm1ztNWiYKcZ17IpKpwRV+twMnquo84MspGOvRSdy0jJVfNJG7YSioa68lp8WPvZtzr2/z0u71M7kwC/8oyxF7axv6VSnjrawgkJOJ1ynRI/f0XMidGJ5UBXpNzaRNs8ohpzemm2qZKCQSuceVTAWuAR5W1XoAVTWrckL4OhKL3DvMhKph8GlprMHpUxxFXRcMldZbJYYTCzJwjhpFwCb4Glr7vTq1o8iaY+pR5x5i9Gyo/ohpo7IoykpjSy/O3Z6dhX3UKCY22ExaJgqJOPdEZE9nAbNE5HUReUtE1g3UAI96fO7Ecu7uxsEZj8EQga/WSmd0j9wP17cDMKkgg4LMIppzHfhatN8bY7cXWHoyUdMyECyH3IWosnByPttK48gQTJ3K2NqAce5RSMS5JyJ76sASVVoDXAL8TER6/PWOZs3rPpNw5G7SMobBJaABpN4KKrrn3EtDzj0/k8L0QupzBG+7vX9pmaoqmvPSyHRk4rLH+E6MPhZ87dB4kJJJeeypbqGlwxezz7SpUymocRvZ3ygk4twTkT0tBf6oqt7gjjUfYzn7LhzNmtd9Jl7k7sy0aofNhKphkGnsaCSn1Vo8Zy/smpY53NBOjstBboaDovQiqrP8+Nptfa6WUY8Hf20tDTm2nroykYQqZqo+YuGkfFRhx+HYT7VpU6aQ0eimrak27g5OI41EnHtcyVTgOeAUABEZhZWm2TeQAz1q8Xt6j9xFjASBYUioc9eRG0N6oLS+jYkFGYgIRRlFVGUH8LbZrTr3PuCrrgZVanICsfPt0FkxU/UBCyZZxQbbS3tx7sXWht5FdT6avWbeKpK4zj1BydS/ArUishN4GfiKqpraJIgfuYMRDzMMCXXuuk5dmcLuE6rtTArmxwvTC2nIFtRnI2DL6dO9QjXuFZm+2Pl2gIx8yJ8K5dsYle1iYn4G7/eSd0+bajn38XVqUjPdSEjyNwHJVMXSwb55QEc3HIiXcwcTuRuGhFp3LbltCjlZSFrXzWQO17dz/DTL4RemF1If3ELV1xogxrYzvRKWHshoZ1y0MshIJiyC8vcAKJmUx7beIvcpUwAYX2/9Z1WcV9yH0Q1PzArVVJNQ5J5nInfDoFPvrievrWe+vbHdS3OHj0kFmUA3517Xe/VKLLxB6YGD6S29p2UAxi+E+v3QXk/JpHwO1rVR3+qJ2tSWlQWjChhXp6ZiphvGuacaE7kbjlAaOxrJbQXnqK7FDZE17hBy7lbRnK+PVW6+yiokPZ0qe1vvE6oA4xdZ/5ZvY2Ew776tl0lVx+TJjK83zr07xrmnElUrco9V9hXC5NwNQ0CTp4mCNumhKxNZ4w5dI3dvVd/WJ/oqK5DRRSCSQOQecu7vM29i0Ln3su1exrQZjKs3+jLdMc49lQR8oIH4aZn0PGt/SoNhEGnqaAqmZbpG0qEa94n5lnPPdGYScIHf3vfI3VtZRWC0dZ+4kXtWkbVxR/l75GU4mVqUyc7y2MFP+tRi8luhqb6yT2MbrhjnnkrCW+zFidwzC620jN+b+jEZDEEa3Q1ktgewF3R1tocb2kl32ijM6pw6LQwo7dn2fqRlKvEUxpEeiGT8Qih/H4A543L5sBfnnjZ5EgDessN9GttwxTj3VBLeYi9O5J4RnNBqN9G7YfDoaKrHpmDPy+tyvLLJzbjc9M7NO3weCn1emnL75txVFV9lZaf0QELOfRHU7gF3E3PG53Kgro3WGCtVnZMs506ZkbSKxDj3VJJM5A5g6nRTQjzJahG5OShXvU1E/iEiUyPO+UXkveBP98V7RzW+BiuYsOd1dbZVzR2MyY0ISFqrKQwEaMi24atK3rn76+tRr5fmPOtJIG5aBqzIHaBiO3PG56AKH1dGX6QUcu5pFeb7E4lx7qkk4cg9aOxtxjgHmkQkq4F3gaWqWgJsBO6PONeuqouCP2czjNAmK9Vhz+u6d2pVk5sxOREBSWsVBX4/Ndnap8g9pOPekGu5mzxXXm/NLULOvfw95oy3xhcrNWMvKMDncpBZHVv7fSRinHsqCTv3OMs+TOSeSuJKVqvqy6raFnz7FpZ+0vCn2VqeGpmWUVWqmjsY2yVyr6HAH6Ai00+gqYmA253UbUI17jXZAXLTcnHanPEvyhkLOeOh7F0mFWSQ43LEdO4iQvuYPHJr3fgD/qTGNpwxzj2V+KyqAxwZvbczkXsqSUSyOpJ/B/4S8T49qGT6loicm4oBDgUevwdnixV8RDr3lg4fbR5/18i9pZKCgJ+abEtkzFdTk9S9fGHpAW9iKZkQk5bCoc2ICMeOz+HD8tjaMf5xRYxpVBo6zLxVCOPcU0k4co+Tc88wkXsKSUSy2moocjmwFHgg4vAUVV0KXAr8WERmxLj2qJKzbvI0kR0MwG25nWmZqmbLZrtE7i2VFPgD1GdZb31J1rp7KyvAZqPM1Z7YZGqIScuh4QC0VDFnfC4flTfF3FPVNnEcYxowG2VHYJx7KvEGI3dnnMjdlQM2h4ncU0MiktWIyFrgTuBsVe0IHVfVsuC/+4BXgMXRbnK0yVk3dXQ698jIvbLJOtglcm+upNCWTkNolWqSk6q+yioco0dT521ILnKffLz176HNzBmfS6vHz6H6tqhNXZMmk+6FhooDSY1tOGOceypJNHIXsaJ3E7mngriS1SKyGPgvLMdeFXG8QERcwdejgBOBnYM28hTS5Gkiu13R9DRsrk77rA5G7mO6R+6u/E59mSSfTHyVlTjGjqXB3RB979RYjF8INieUbo47qZo11dpPteWAURoPYZx7Kkk05w7WpKqJ3AecBCWrHwCygd91K3mcA2wRkfexpKy/q6rDx7m7gZzsLsfDkXtuZM69ivzM0TRngtptSTt3b2UFjjFjqO+oTy5yd6ZbDv7Q28wem4MIMfPuedNmAeA+ZCL3EAlJ/hr6SKKROwQjd7ODeypIQLJ6bYzr3gAWpHZ0Q0NjRyNZbrD1KIPsIN1pI8cV4RpaKikcvwBtK8OTn5l0zt1XWUXa8qV4A97kIneAycthyy/IsAeYXJDJnqro5Y6FxbOpBfyHe2TcRiwmck8liebcwUTuhkEllJZx5HV1tpXBMsjw6lSAlkoys8eTZkujPS89qcg90NpKoLkZT6H1hNDrRh3RmLzcWgxYsY1ZY7PZXRU9cndk59CUJUjFkT+ZPVgY555KkorcC0zkbhg0QhOqafldnXuPBUwdLeBpQXLGUpBeQEuuIynnHtqBqS1CYTIpJi23/j30NseMyeGTmla8/kDUpk0FLpzVsaWBRxrGuaeSZHPu7XWWTLDBkGKsnLvgyI8nPRBMwWRbzr0hO7mce2gHppag9EBSpZAAeRMhdyKUbmbW2Gy8fuVAbWvUpm2FWXtuYewAACAASURBVGTGODcSMc49lSSbc/d7wGOM05B6QhOqPXRlukfuLRHO3VVAbVbA0orxRN8ZqTuh1an1OZarSWpCNcSkZXDobWaOsVQld1dGz7t7R+eSU9+BmgAJMM49tXjbLV0ZibaOphtGgsAwiLS01JHmVewRC5haOny0evw9FjAB4ci9MsNy6omuUg2tTg2tbk16QhWsvHvjQY7JbEEEdseYVA2MKcLlUQKNJjUDxrmnFl9HfNGwEKFVqmZS1TAIeBqs+R17fucCpqoYC5gAyB5LYXoh5elWm0RTM77KSmx5edTSgsPmIMuZlfxgg4uZMiq2Mqkgg10x1CFt48cB0FZ6MPl7DEOMc08lvvbEnbuJ3A2DiD8Y3XZdnRpdegCxQ2YhBekFlCXp3L2VlTjHjKHeXU+hq7BrFU6ijCuxtqos3czMMTkxyyFdEy3JoPqDu5O/xzDEOPdU4uuwFmIkgoncDYOINlrRb1ddmSiRe0slZI0Gm518Vz71Vto74b1UfZWVOMaNo76jPvkyyBCONJiwCA5tZubYbPZVt+KLUjGTPakYgNZD+/t2n2GGce6pxNuXyN2UQxoGgRYr+o2cUK1qiiY9UGXJ72KVMTZmArbEK2Ys6YExyUsPdGfSMih7j1mjXHj8AQ7U9dSYKRg3FY8d2g8fitLByMM491SSVM7dyP4aBge3z42r1dqvt0vOvdmNy2EjNz1ydWoFZFvOvSC9ALUJgfychJy7er34ampwjhmbvPRAdyYfD/4OSuyWvMDuKHn3goxCanLBF6zQGekY555Kksm5253gyoM2I1lqSC2Rcr/2bnK/PVenVkH2GKCzjNFbkJ2Qc/dWVoEqzokTqHfXJ1/jHslkazHTlNYdAOyt7lkyXJheSE2eQGVyevPDFePcU0kyOXeAzAIzoWpIOU0dQUVIm2DL7hQOq+xe4x4IBJ17MC3jslKH7vyMhGR/vWWHAZCxY2jyNCW/OjWSnHGQPwVX+RbG5aazN8qWetnObOpybTirzIYdYJx7akkm5w6QWWTSMoaUE4rcNTsLsXW6gB7b67XXgfoh2yoxzHXlYhMbLbnOhCJ3X3m51c2oPurKdGfScji0memjs9gXJXIXEdqKMnE1tKJeb//uNQwwzj2VJJNzB6tixqRlDCnGEg0Dye0q91vV1MHoLjXuwdx1MC1jExv5rnwac2z4a2tRn6/X+3jLLIXG5nyrz35NqIKVd28uY3FeC/uqW6KuRPWMykW0U9NmJGOceypJJucOnfoyBkMKCcn9Rta4t3b4aOnwxVydGqLAVUBdNqCKr7b3QMRbVo591CgasKLsfk2oAkxeBsBS2x6a3D5qW3tKIATGFgHgKzfSv8a5p5Kkc+4mLWNIPVZaRnFGKEKG9k6NriszJnyoIL2A8iwr5RGKzGPhLSvDOX489W6rvLdfE6oAY+eDI4OZHmu/lL1RFjPZxlpj9QZTQiMZ49xTidedfFrG0wK+xESZDIa+EErLpOV3TnCGpAe6Ru6htExE5J5ewKFs6z+CuM69vBznhAlh596vCVWwKsomLmF04/sA7KvpmXd3TbBWqXoOH+7fvYYBxrmnkqTTMsFIyqRmDCmkqaOJ7A7BEbGAqTK8d2pE5N5UbpXnujpz8wWuAvanW07V28uuR6raGbl3DFDkDjB5GWnVO8hx+NgXpWImP28MjZngPlza/3sd5RjnnioCAUvCN9lqGTCTqoaU0uRuJNOtUUXDxuZE2GvTYcid0OXagvQCKmnElp+Pt5fo2F9fj7rdOCdMoKGjgWxnNk67s/+Dn3w8EvBxel5Z1IqZwnRrIZNZpWqce1wCHg+lX76JvevPpO2ddxK/0BdcJZJMzt3oyxgGAXdjLTbtrivTQZrDRm5GxOrUpsPWZhkRFKQXoCi2CeN6Tct4y6yct3PCeOrcdf2fTA0xyZpUPSl9X9S0jOXcJVyGOZIxzj0OdY//kuYXX8RbXs7hL32ZQGuCm2mEnHtfIneTljGkEG+jtcinq66Mm7G5rq6rUxt7Ru6hvHlgbFGvkXtoAZNzwoT+68pEkjUKCmcw//+z997hjZZX3v/nVrMkS7ZkWy7j3sbTmMYwDKEEAgyQUAKBUAPJZje7KbvZX7Lv9ZJCks1uNptkUzbZ5E1ZEhIgECC0hBYg9DaFKcyMx2OP7Rn3bsm2unT//ngk96LmIlmf65prhqdI9zDS1+c59znfEzzO6UEnXv9UAzGlSxVkd9+qH9qRFvd5kFIy9OADGM/ZRdkvf4G/rw/7U09FdnNM4h6O3NNpmTSLx1x2v/mTUzJ+rzJiL6tkyr3hvLnHloWvs3NOAQ1Hzto1a+L3lZlO6U5Kx44SCAY5Pc1ALEefw4BZoHJ7CI7Obg28WkiL+zx4jh/H39lF9lVXYzjzTHQ11dj/+GhkN8ci7um0zKIghLhcCNEghGgSQtw5y/kvCCGOCSEOCyFeFEKUTzp3hxCiMfTrjqVd+SIRsvtVZ0+1+y2YvJk6Ekq5zBG5j+YZkW43gcHZP6u+zk6E0YgqO5tBVwLTMgClO9F7BygTvTM2Va16KwMhW+LVbiCWFvd5GHv7HQAyzz0XIQSWa6/DdegQ3lOnFr7ZF0POXasHbWZa3BOIEEIN/BS4AtgA3CyE2DDtsgPADinlZuAR4Luhe3OArwNnAzuBrwshEqhSS4+UEjGqpBYnR+690yN3R0jcZ8m5A9ityg+CuVIz3tNt6IqLkUgG3APYDLZE/RUUGwJgu2ickXc3aAyMWZW/h6+7J3HvmYSkxX0e3EePoikqQhtqjDBfegkAo6++tvDNsUTukO5STTw7gSYpZbOU0gs8CFwz+QIp5UtSyvDz/dtAOBdxGfC8lHJQSjkEPA9cvkTrXhRcfhd6ZwCYEHen18+Ixz+1DNIeEu2saeIeyp0PZCu5+TnF/dQpdBUVDHuGCcgAuYbcxP0l8teDzsy5GSdnbWSSecoa/b1pcU8zB+5jx9BvmAjydGVlaMvKGHv99YVvjlXcDdZFj9wDQclPX2pi57deYP1dz/IvDx9ixJ2yRkvFwOS6uPbQsbn4JPBMjPeueMINTACqkLiPD+mYXgYJM9IyWrUWs9ZMd5aykTlbxYwMBPC1taGrKKffpdjv5hnyEveXUKmh5Ex2qJtmrZhR5ytPCb50WibNbATHxvC2tKBfv37KcdN55zK2Zw9B7wJdpDFH7rmLuqEaCEq+8NBBvvdcA5uKs/nwtjU8fqCD23+9B7cvsGjvu4zMNrRz1l1AIcRtwA7gezHc+ykhxD4hxL6+CKcULQdh64Fghg6VTgfMYT3g6Ag1MJlnvIZFb6FXNYoqO3vWyN3X1YX0+dCVL5K4A5TspNzfQvcs1sOWzDxGTWr8q9w8LC3uc+BuOAFSToncAYxn70K6XLiPHp3/BXyh8EhriO6NFzkt8+MXG3niYCf/57I6fv3xs/j2dZv58c3bOHB6mJ+/cnLR3ncZaQdKJ/13CTAj3BRCXAJ8BbhaSumJ5l4AKeUvpZQ7pJQ7bLYE5pcTjMMTGtSRlTl+rGc26wFH54x8exir3sqQewht8Rq87TM7Qb0trQDoyssZcCmBSq4+gWkZgNKzURGkzNPA0DQDsRxDDoNmga8nHbmnmQVPozJBXV+3dspx4/ZtALgOHJz/BcbF3RjdGy+iedixTgc/famJ67YV89mLasaPf/CMIq7cXMTPXj7J6YGZsymTnL1ArRCiUgihA24Cnpx8gRBiG/ALFGGfHO49B+wWQlhDG6m7Q8eSlgm734mIfNbI3d4+IyUTJicjh2HPMBkVlXhPNs84721pAUBXUTEu7omP3M8E4Exxgub+qXn3HH0OvaYg/vSGaprZ8J4+hdBq0RQWTjmusdnQlpbiOrBAt6o3lAvURSnuhhxwD0Ngfq/sWPjB8w2Y9Rq+dtX0YhG468oNCOD/vdKU8PddTqSUfuBzKKJcDzwkpTwqhPimEOLq0GXfA0zAw0KIg0KIJ0P3DgL/hvIDYi/wzdCxpEWx+5VTfGV6HW50ahUW4yR7AEfnjM3UMFa9lUH3IBm1Nfg6Ogg6pwYEnsYTqC0W1Hl59Lv60av1ZGozZ32tmDFY8easZbuqccbIvRx9DgMmmY7cl3sBi42nsZHAaIRdpZPwnW5DW1qKUKtnnDNu34bz3QPzd8D5Qh/4qCP3UK27O7Gjwpp6R3mhvpfbz6nAYtTNOF+QpecjZ5bwx3c76BvxzPIKyYuU8mkp5VopZbWU8luhY1+TUoZF/BIpZYGUcmvo19WT7v21lLIm9Os3y/V3SBThKUxa6yRHyBFlSMd4d6rfE2pgml3cLXoLQ+4hdFXVAHimRe/uEyfIqKtDCEG/u59cQ+7UztcEoSk7m+2qRpp7pw7LztHnMJglCA7bCbrdCX/fZCGlxd3+1FM0X3U1XV/+ctT3ek+fRldaOus5/RmbCQwM4O+Z57EvZnFfHPOw373Vik6j4mPnlM95zd+dX4UvEOS+tyOo40+TlITTMhnZk8V9egNTyJdljpx7TkYOvqCPQIWStvGcnHjak8EgnsYmMtYq6cx+V3/iUzIhVGVnYxFjOLuOTzk+pZFpvu9oihORuC/U4TfpuuuFEFIIsSNxS4yd4Qf/AMDIX/6Cf45OutmQUuJta0NbVjbref0GpYLGfax+7hfxOkGoQJMx9zWzYQj1yCQw7x4MSp450s0l6/PJM829nsq8TM6ryeOR/e0Eg6vblyNVcXgcyhQmyyS73+kNTPbZyyDD5IQ6qe02I0Knw3O8Yfycr70d6XSO71UNuAYWTdwpVZqZsvqmpkhz9bkMhsTdlxb3uYmwww8hhBn4J+CdRC8yFqTPh+vwYfRbNgPgisLRMdDfj3Q60c0l7nV1IATu+mNzv4jPqXSbRvs4Gk7LJLBi5nCHnb4RD5duKFjw2ht2lNIx7OKt5rS/TSoyNjpEhn96d+q0yD3cnTrNVyZMuNu03zuIfuNGXIcOjZ9zHVQKDfQbNyrXLGLkTm4tLrWZMudRApOCkbC/DKQj94VYsMMvxL+htG2viCSX5+RJpMeD9aM3glaL69DhiO/1til9K7qy2dMyqsxMdOXluOvnidx9zujLIGFR0jLPH+tGrRJcVJe/4LW7NxSQpdfwyP70sINUxDOsfK7CvjJuXwCH20/+lDLI0L/9HJF7vlH5HPW5+jBs24b7yJHxvg/n3n2osrLIWLsWX8DHsGc4sd2pk1GpGM7ZzBZO0D40salr0VvGI/e0uM/Pgl16oVKyUinlnxO4trjwNiubPPpNG9GVleFpnlmyNRdhwyFNUdGc1+g3rMezUFom2koZWBTzsFdO9HFmuXXWjdTp6LVqLt9UyAvHevD4U7KpaVXjn+YIOdGdOi1y10+dwDSZsLj3OnsxbN2C9PlwH1H6Ppz79mHcvh2hVjPgXqQyyEkEi3dSKzo41TlRGaNVadGbLXgN2lXtLxOJuM/bpSeEUAE/BL644AstYRdfuC1aW1xMRlUV3qbIS/x8vUqpszZ/7kg3Y/16fJ2dBIbnqGoJp2WiRZcJ6oyEpWVc3gD1XSPsrIh8fuUVZxQx4vHzRlN/QtaQZuUQtDuACXHvGVEetKdE7vb2OVMyACatCYPGQK+zl8ydO0GrZeQvf8HT1IS3pYXMc3YBTNS46xdP3M0156ASEmfz21OOWzOsjFoz8K/icshIxH2hLj0zsAl4WQjRCuwCnpxtU3Upu/h8nZ2osrJQm0zoKivxtrcjA5FFov6eXkRGxrj3xmzo1yvbDu7jx2e/INa0jBBK3j1BaZkjnXYCQcmW0sjnV55bnYdZr+Hp91bvFyNVESNKw48qa2rkPiXnPtQK1rmrqoQQ2Aw2+px9qC0WzBe+H/uf/8zgb38LWi1ZV10FsHjWA5Mw1+wiiEDbuW/K8Rx9DnazGt8qtiCIRNzn7fCTUtqllHlSygopZQWKq97VUsp9s7/c0uDr6ES7RskZatesgUAAf4RPC/7eXjT5+fPW5oarATyNczwRxJqWASU14xyK7d5pHDytPFlsjULcdRoVl24o4C9Hu2dMukmTvEgpESMhu9/Q/NSw9cB4tYyUMHQKLHOLO4DNaKPXpQin9dZbCQwOMvzwI2RfeSWaHOUpcSnSMkKfzWl1OXnDh6YczzXk0m9e3Z7uC4p7hB1+Kw5f52RxLwodi2yuYljc50Odl4cqKwtP8xx+LL6x2NIykNDI/WDbMMUWAzZzdCWZH9xUhMPt5+101UzK4PQ7MbiUH9bjOfcRD1q1wBruTh3rVz671op5XyvfkE+fUwmWMnftouR//oe8z32Oon/9xvg14fPh0snFost8BlWeemUofYgcfQ49mT78/f1If+K7vZOBiOrcF+rwm3bthcsdtUspp4p7aGPU1zX3QN/J+Hp7xj3c50IIQUbl7N4ayou4Yo/cE2gedqh9OKqoPcx5tXlkaFS83LByHQ7TRIfD48DkkkiVQJWpBB69Djf5Zv3EU+pwqIFtnrQMKJF7n2tiTqn5Axdh+9xnEbqJTfseZw/WDCsZ6ih7PaLEWbAdM06cnROlyTn6HDoNHggG8fevzr2jlOxQDTocBMfGxsU9XPUSySOalBJ/bx8a28Jlg7rqajwtc4i7N8acO4TSMvGL+5jHT/uQi/VFM21bF0KvVbOzModXTqzenGWqEbYeCJqMCJXy1e8d8Uwd0jHUqvy+QFom35iPy+9i1Df3nNLusW4KMhfurYgXbfnZAAw1TMxZUGrdlR88qzU1k5LiHjbpD6dj1CYTqqysiNIywdFRpMu1YFoGIKO6ikBfPwGHY5ZFxFgtA0qtu2twymNmLDSHDJVq8mcvaVuI96+1cbJvbEoNcZrkZcIRcuLz0ONwTy2DDIv7QpF7qJEpnHqZjR5nD4XGwjnPJ4r8yk0MSRP+UxP9k1a9lcFQI9Nq3VRNSXEPP4Zp8iY2crRFRfi6Fhb3cNODpmDhiENXWQUoDVMz8MWxoWrMARkEjz22+0M09SmGSrGK+4V1yhf41ROr87E21QhbD6iyJg/G9kz1cR8+BZk2pSR3HmxG5bMR3lSdjaWK3CvyTBwI1mDqOzB+TInclT+v1nLIlBT3wKBSaaLOmdjI0RYVzToSbDr+UI27Jn/hUs2MakXcvc0t0xbgh4A3etOwMONdqvGlZpp6R1GrBGU5sT1BVNtMrMnW8+qJdN49FbB77ZjcEk3IV8btC2B3+WZG7gukZGBqI9NsOH1OHF4HhZmLH7nrtWqaMjaQ62oBl/Ldz9XnMmqAoE6zav1lUlPchxRRVFsnBtVrCgsiakWOpIEpjLakBKHVzqyY8YYsSHWxRcyJ6lI92TtGea4RnSa2f2YhBO+vs/FGUz/+QLokMtlRNlRBZ1E+X2Fr5ykNTAPNkFu94GuF0zJziXuPU/muFRgXP3IHGMjZqvyhfT+glEIiBN4c06od2pGS4u4fGAS1eoo5kiY/n8DQEHKB2af+0EzGSHLuQq1GV1ExM3L3hDaZZpk/GREJMg9r6hul2hbjD5gQ51TnMeLxc6xrln2FNElFeENVZ1GeDCdq3EORu8+l+MrkLCzuRq0Rk9Y0Z869e0xJhSxF5A4gi7YTkALZpuTds3RZ6FQ6xiyGVTu0IyXFPTA4iNpqHa8IgIlIfKGyKH9PDyqzGZUxspSKtrwMb9vpqQc9och9Dm+OBQmLexy17v5AkFMDYzHn28OEbQv2tCT1AKI0gMNtx+gGjWWixh0mzU4dDFV+RRC5w0Q55Gx0jSn7W0sl7iWFNhpkGd7QpqoQApvRhj1r9Q7KTklx9w8OjnfJhQlH4uGc+pz3RtDANBldSSm+tvapU5m8ochdF2PknoC0TJfdjS8gqciNMe8fojBbT1mOMS3uKYBruB8Vk3xlpkfuA6H0YoTinm/MH4/Qp9M+0o5aqCnKnNt8L5FU5Zl4N1iDunM/BBWbEaVLVeLv7p5/alqKkpLiHhgcnLKZChPi7otA3BdqYJqMtqwU6fGMp3OASZF7jOKuzwahjist0xYqXyy1xifuADsrc9jbOpge4JHkeEN7UeO+MuPdqaHGo8GQuEeQlgEoMZXQMdox67n2kXaKMovQqDTxLTpCqmyZvBusReMbhT7F78lmsNFt9CF9PgJDibHzSCZSVtw1OdYpxyYi9/krP3y9vRE1MIUJj+LztU9yRY43LZMA87D2QRcApTkJEPeKHIacvhlT5tMkF36H4jM02e7XZspApQp1pw40QWY+6LPmeokplJhLGHQPMuabOaO4fbSdEvPczpKJpjBLzzH1OuU/2vYAiqdNu0EJclajr3tKirt/cBB1ztQBAWqLBbTaedMyMhjE39cXXVomJO7e05PE3RvnhirE3aXaPuREJZS0SrxsLVNK5w61xVd3n2Z5CdqVoEM9nnN3z1IpUxPx65Walc9++8jMwS7tI0sr7iqVQJVbzYgqG9r3Akrk3mZQghzfKuxSTTlxl14vwZER1NMid6FSocnLm1fcA0ND4PdH1MAURrtmDQiBr22WyD3WUkhQat3jEncXRdkGtOr4/4mrbSaMOjXvdSSnuC80A1gIcYEQ4l0hhF8Icf20cwEhxMHQrxleSslE2O5XHWpi6nV4pta4DzRGnG8HxsV7uriPekcZ8gxRYlo6cQeozDdxWKwdj9xtRtukiUyrb1M15cTdHxqeobFaZ5zT5NvmFffx7tQIGpjCCJ0OTVEh3ilpmQRE7nGah7UNOSmxxuhtMw21SrBpTTaH2ucYTLKCiXAG8Gng48DvZ3kJl5Rya+jXinVBXYhAMIBqVIliJw/qGPeVGRuAsT6wrYv4Nccj99Gp4n5qRDEfK8uafQbxYlGdl8mbnirlh5RzkDxDHsOZINWqVVkOmXLiHpw2Rmwy2vx8/H1zi3s0DUyT0ZWW4ZuSlhkBjR7U2qheZwoGa9yRe0kCNlPDnFGSzbFOB77ka2ZacAawlLJVSnkYSLq/XKSMeEcwKdqOKjsbjz/AsNNHQdjHvb9B+T0Kcc/SZZGdkc0px6kpx5uGlBkH1ZbInwISQXW+if3BWuU/2vdhM9iQKkHQmrUqG5lSTtzDJl7hioDJaGz5+ObZUB23HogiLQOgLS3B2z4pevGMxJeSgVBaZkAZnhAlXn+Qboc7YZE7wOaSbDz+ICd6RhL2mkvEgjOAF0AfGg35thDiw4ld2tIRth4IZmhR6XQTs1PDkXuowgRbXVSvW51dTdPw1IE1J4dPolVpKTMvbeRek2/iULCKoFBD+55x/xt3TmZ6QzUVCIzPiJy546/JzydotxP0eGa9N5yXm2w4Fgm60jIC/f0Ex0JVA57R+FIyoKRlgr6Jzdko6LK7kJIEi7uyqfpee9Ll3eedARwBZVLKHcAtwI+EELOGo0s5HzgWHB6lO1WGHCF7p1sP9DUoAUl2dHnyWmstjUONU+rIm4abqMyuXLIyyDDVNhMeoafPWANte7BmWFEJFaOWjFXpL5N64u4IpWWyZhd3YM5xe/7eXtS5uQhtdOmUsG/8+I68ZyT2MsgwcZiHdQ4rzSnFlsSJe3mOEbNew6HkE/eFZgDPi5SyM/R7M/AysG2O65ZsPnAs2L32kN2vEnT0Tm9g6jsOeWuVMtwoWGtdy6hvdLwjFRRxX+qUDCgGYmU5Ro5r1kHHftQoBmLDWepV6emecuIeHE/LzCPuc2yq+nt70UTRwBRGW6S0WPu6Qh8g72js3alhDLFbEPTONtE+TlQqweaSbN7rSLpN1XlnAM+HEMIqhMgI/TkPOBc4Nv9dKxO7x47JJcf3orrsymekKDsUAPQejzolA4q4AzQONQLKUOyusS7W56xPwKqjp7bArGyqekeh9xh5hjz6TEGCY2MERldXn0bKift4WmZWcVciqrnE3dfXizaKBqYwM8b4uYeVLtN4iMM8LNxWPmWifQLYUJTFiZ7RpHKIjGQGsBDiLCFEO3AD8AshxNHQ7euBfUKIQ8BLwH9KKZNW3M0u0FmVz1WPw41Oo1Jmp472wWg3FGyK+nVrrbWohZpDfcqA6nd73gVge8H2xC0+CtYWmHjeEbIsblPy7l2ZilngaoveU0/cHQ5UJhNCrZ5xTmObX9z9PdH5yoy/bn4+CIE/HLm77GCIfm7pFOJIy/Q4PBh1akwZic151hVm4fUHaR1IrslMC80AllLulVKWSCkzpZS5UsqNoeNvSinPkFJuCf1+93L+PeIhnJbJyFH2k7odbgqyMpTZqd2KMFO0OerXzdRmckbeGbzV+RYA7/a+i0FjYEPO9GrTpWFtgZnmoA2/IQ/a92Iz2DitV/bCfKusYiblxD3osM8atYPSpSrm6FKVPh+BgYGYxF1otWjy8ydy7m57/JF7HOZhPQ43BVmThh4niLoCJdWUhBUzqx6H247JDdqQl3u33U1hOG3XdVj5vfCMmF77nDXncHTgKEPuIV5rf40tti1o4ykDjoPafDMg6LdsgbY95BnyaM1QPq+rbSJTyol7wO5ANUuNOyg2oJr8/FnNw8ZH88WQcwfQFhYqaZlgQBmPp48zcjdYABFTWmZG52GCqC0wIQQc706Le7LhcgyiCYZsOJgIAADoPgyWMqW3IgYuLL0QieT2Z27n9Mhprq25NlHLjpoqWyYqAY269TB4EpvaSL9JSSOuNguC1BN3h2POyB2UFMps5mET3amxibumqEhJy7hD1STxRu4qtSLwMWyo9oy4E+IpMx29Vk1FbiYn0uKedHgGlc+R2mJBSkm3Y1rkXhh9SibMhtwNXFF5Ba2OVkrNpVxacWkilhwTeq2a8txM9viVap28sUECaoHMsaRz7slOYJ60DITFfWbkHmt3apjwAG7pClWTxJtzh5jMw6SUU6OyBFNXYKYhnZZJOvzDobnCVgsOlx+3L6gEAJ4Rxeq3aEtcr3/Xrrv4/vu/zwMfegCtanlSMmFq8028aC8GlQbbkNK/5s/LTufck52g3YFqlgamSr3LJAAAIABJREFUMHOJ+3gDU8ziXoj0eAj0hpoh403LgLKpGmVaJvzFXYy0DMDaQjOtA2O4fYFFef00i4MM23JYLHSPV1PpofuIckEckTuAWWdmd8VusjPifGJNAGsLzDQMBggWbCKvV7FVcOcY05F7sqOkZeb+gGnybQRHRwk6p1Z8+Hu6EVrtjCEfkaIJlUP620I+G/GmZSAmT/eekUlf3EVgXaEZKaGpd3XVDCc7wh5yhJwk7oXZeiXfDjFVyqxU6grNBIKSIetW8jqUSiBHtm7VdammlLgHPR6kxzNvWkY7R5eqr7MLTWHhlLmr0aAtDNW6d4Q8ZhKWlolugkyPY3HFva5QqZhJb6omD1JKVCNKMKO2WOgJNTAVZumVfLsxD8xLMw5vKdi4Rvn+N+rWo/M5ydaaGMwSBB2OCYuQVUBKiXtg3BFynrTMHLXuvu7u8WakWNCuCYl7d6gNOyFpmRgid0d46PHipGXKc4zoNKp0OWQS4fK7yHQqaTR1VtbUtEzXISXfnuCy2eWkIjeTTJ2at7zKpqpNpaPXpPz9V1P0nlLiPp/1QJi5Zqn6urrGbQRiQZ2Tg9Dp8HWHnggSlZbxu8DniviWiaHHixO5a9QqqvIyOZlOyyQNivUABDL1CI2Gboeb3EwdOnzQV59SKRlQrDLWF2XxRr8RTAXk+QN0GJTvxWrKu6eUuIftfufPuc+cpSoDAcVXJo7IXQiBpqgQf98gqLSgy4z5tcaJoZGp1+EmS6/BoJvZoZsoqm0mTvalxT1ZsHsV64GwI2SP3T2xmRr0Q9HWZV5h4tm4Jov67hFkyVnkuxy06JUnzdVUMZNa4h5BWkZlNiP0+ilpGX9fHwQC43nzWNEWFuEbcChVLol4zB23IIg8NdPj8Cxavj1MtS2TtiEXHn+6YiYZGHIPKY6QFuV70WUP9UG0vaNcUHr2Mq5ucdi4Jpsxb4BB61YKnMOc1CjfodXUpZpS4h50zG0aFibcpTpZ3H2dSp48nrQMhLpUh5yQGZ0f/JzEYB62WA1Mk6mymQgEJaeTzGNmtTLsGcbskmgsSgfqeB9E+x7ILoWs1NlMDbMhtKl6XLOOQn8At1oirJYJ59ZVQEqJe9gRci77gTDTZ6mG3Rw1cUbumsJC/KM+pD62Nu4ZxGAe1mN3L1q+PUy1TXm8T6dmkoMh9xDmkGmYxx9gYMyrVMq07YHSncu9vEVhbYEZrVrwlruUgqAySCSYZ11Vs1RTS9zDkbt5fi917bTI3XtKqU3XlZXOdUtEaAsLIAh+OfeTQ1RE6ekeDEp6RzyLVikTpsqm7Cec7Fs9ZWXJzJBHScvoc2zj4/UqdUPg6ICS1BR3nUZFbb6ZQ90eCkODQ9y5matqlmqKibsdVWYmQjO/1a3Glo9vUp27t7kFzZoiVIb4JhdpCpS0jt+ToAlIYSMnV2S17oNOL/6gXPSce2aGhsIsfTpyTxKGR/sxekFjtY5XU1V7Qrb0KRq5g7KpeqzTQf6aHQCMZGvT1TLJykLWA2E0BQVIp3N8A9bb0kJGRWXc76+xKWkUvztB3hoaHWRkRRy5L9aQjtmozs9MR+5JgntQCWTUFgsdw0pZbfHIYdAYYrb5TQY2l1oYGPPit55FRjDIoMFFwG4n6Iq8tDiZSSlxX8h6IIyuogJQRF1KibelBV1VVdzvrw3NLPWNJfB/axSNTBMT7Rc3cgcl797cNzplMHKalUnYEVJjsdA+pAibuf8AFG+HZfJdXwrOqlCefPcFaygMBOjRKmnb1WL9m4LivnDknlGlROmek834e3sJOp3oKivifn+1zg8qiX/UH/drjWPMjSFyX3xxr8rLZMTtp2/Us+jvlSY+xh0hQ5F7kVGi7j6c0ikZgLX5Zsx6Da/26CmQatp1ypO6f5V0qaaUuAcd9nlr3MNoS0oQGRl4TjTgPXkSgIzK+NMywj2E1hDAZ0+g4EUl7sr72kxLkZYJVcz0plMzKx05HCo0sFjoGHJxgalNaV5K0c3UMCqV4MxyK/tPD1Ggz6Ul1KW6WsohU0rcA3bHvNYDYYRGg37jRlyHDuM8eBCEQL8p+uHAMxjrR2MI4B9K4EajMTfiUsiekVBbuWbx/1nD5ZDN/elN1ZWMlBKVXenOVOfm0jns4hzNCeVkCjYvTWdHuZUTPaPkmspotCgpxPFB9ilOaom7w4E6OzLDLsO2rbiPHmXk+RfIWLs2onTOgjgH0BqD+Afs8b9WmGgid/viDemYTmGWHoNWnY7cVzijvlHMo8qYuXBa5gz/UcjfAJm5y7y6xWdHhVJOHNBV4dKqEBYTvo6OZV7V0pAy4h70epFud8QinbV7N9Lnw1Nfj/my3YlZhHMAjSGAr28gcRuNxlzwOcG7cDdoz4h7SSplQHnkrbJlpsshVzjD7mGynJJApgG7X+DxeikbOwzl71vupS0JW0osaFSCDq+Sdg1mqfB1piP3pCIYga/MZPSbN2O95RaMZ52F9eabE7MI5yAaswbpdo9bIcRNuEs1AguCLlcT3bp7uPaJa7n5zzfzo/0/omds8TaPqm2mpEjLCCEuF0I0CCGahBB3znL+AiHEu0IIvxDi+mnn7hBCNIZ+3bF0q04Mg55Bsp0gc7LoGHaxSbSgDbig/NzlXtqSYNCp2VScTUuvEQCX0YOvIy3uSUUgArvfyQghKPzaXZTf+zs01gTZBTj70VqVD1HC3OciMA8LBAN8f98P8Bb8gN7Au6wxrUGv0XPP0Xu45olreKr5qcSsZRpVtkzah1wreuSeEEIN/BS4AtgA3CyE2DDtstPAx4HfT7s3B/g6cDawE/i6ECJBH5alYdg9TNaYYkndPuRip+q4cmKViDvAzsocjrcrLql2/Sj+ri5kMLjMq1p8Ukfc7Qvb/S46zgE0ucr7J8x9bgFxl1Lyr2/9K/cc/Q3eoZ18tuY3/PTin/Kby3/Dnz78J+qsddz52p3cX39/YtYziWqbCSmhpX9F5913Ak1SymYppRd4ELhm8gVSylYp5WFg+jf+MuB5KeWglHIIeB64fCkWnSiGPENkOyXa3Dw6hl2craonYK0Gc8FyL23JuKDWhtenR4eGviyJ9Pnw9/Uv97IWndQRd0d0aZlFwTmA1qY4QiZs4ssC5mG/eu9XPNb0GB+uuANP93WUWSZmwJZmlfKr3b/i4rKL+c89/8lzrc8lZk0hksRArBhom/Tf7aFji33vimDIPUT2GOhtBXQNjbJT1YCqYvVE7QA7KqzotWoMIpd2i2LFvRo2VVNG3COx+110nAPKMBAhEmdQNE/kfqD3AD89+FM+WPlBzsu9FZjZwKRT6/jOBd9hW/427nrjLlrsLYlZF0paRogVX+s+m7F+pLvdEd8rhPiUEGKfEGJf37T5vMvJsHOALBdk5OVDzzGyhBNRcd5yL2tJ0WvV7KrKxenO5WSuUnCwGjZVIxL3CDakviCEOCaEOCyEeFEIUZ74pc5PYFiJ3Bey+11UxgYQZhvqvFz8vQkSd4MFEDPE3Rvw8rU3vkZRZhF37bqL3lEvMLuvTIY6g+9d8D0y1Bnc+dqdBIKJyZHrtWpKrAaaVnbk3g5MtvssASL9Zkd8r5Tyl1LKHVLKHbbQnN6VgKtfcT/V5OaSP7hPObjKIneAS9YXMObMoj5HMRVMizsRb0gdAHZIKTcDjwDfTfRCFyKw3JG71wm+McjMQ1tQmLgNVZVacYccm5ojvOfoPbQ6Wrlr112YdCZ67G7UKkHuHN2pBZkFfGXXVzg2cIyHTjyUmLUBNTYTjSt7WPZeoFYIUSmE0AE3AU9GeO9zwG4hhDW0kbo7dCxp8IbFPSeXauchBrVFkF2yzKtaenZvKED6rPTrgqh0QXwtjcu9pEUnksg9kg2pl6SU4ULst1EinCUlYLcrI/TUizc7dF6cIfHNtKEpLEistWhm3pTIvd/Vz93v3c0lZZdwbrEShfU43OSZdKhVc4/3u6z8MnYV7eIn7/6EAVfko/vmoybfRHP/GIHgyjQQk1L6gc+hiHI98JCU8qgQ4ptCiKsBhBBnCSHagRuAXwghjobuHQT+DeUHxF7gm6FjSYN/UFmuPyuLrfIYPTlnLvOKlof8LD2V2cpDWNAUwNfasMwrWnwiEfdoN5U+CTwTz6JiIWAfRr2sKZlQnjXThja/AN+kYSBxM61L9VeHf4Un4OHz2z8/fqzb4aYwe34feSEEXzr7S7gCLn707o8SsrSafBNef5D2oZU7ck9K+bSUcq2UslpK+a3Qsa9JKZ8M/XmvlLJESpkppcyVUm6cdO+vpZQ1oV+/Wa6/Q8wMKulKu6ufXDGCqyj1LQfm4gO1dQC4ssSqqHWPRNyj2VS6DdgBfG+O84u26RSw25dZ3CdH7oUEE+kbPclfpt/VzyMnHuGammuoyK4Yv6Tb7qYwgu7UquwqPrbhYzze9DjHB4/HvbSafGXqVVPvis67r15Ce1HuvqMAZNRcsJyrWVZu2LIFgF6LEd9g6ttVRyLuEW0qCSEuAb4CXC2lnNUWcTE3nYLDkTlCLhrjkXse2oJ8IIHWopM83X9f/3t8QR+f2PiJKZd0O9zKXMwI+Nsz/haz1szPDv4s7qXVhNwh0+K+8hjzjWEc8RJUq9AO7KNbWllTsX65l7VsVFrzUZHBiUw90g+B7vblXtKiEom4L7ghJYTYBvwCRdgTmI+InIDDscyVMpMi99C4vYR2qToHGPOO8mDDg1xSfsmUqN3p9TPi9lOQHZm4Z+myuH3j7bzU9hJHB47GtbRsgxabOSMt7iuQPmcfWU4IZpsoGNrPfrEJ6xLYQa9UhBAUGtfQkB0qhzz04jKvaHFZUNwj2ZBCScOYgIeFEAeFEJFWIySM5U/L9IHWCLpMNOORewK7VIM+Hjl2PyPeEf5m099MOd1tV3yqI43cAW5bfxtZuqzERO8200ovh1yV9Ln6yB4Dso2Y/YO0mLYt95KWnRprKd02pejCe+StZV7N4jL/JOkQUsqngaenHfvapD9fkuB1RYWUMiTukdn9RkIgGOC++vt4uuVppJRcUn4Jn9j0CbSqOcaSjfUrVS2AtkBp7fb1JOghxpiLD/hdwwPsLNzJpryp3vPdoQlMhRFG7gAmnYmPb/w4Pz7wY472H2Vj3saFb5qDmnwTjx/sQEqJEHNX66RZWvpd/WSPSbRWJYYbzF+9m6lhis3FHLEp9f724++xjOHgopMSHarBsTEIBBIWufuCPj7/0uf5r33/hValxag18pMDP+Fvn/tbXP45NknH+iBT2UdQGY2osrMTVw5pzOVVo4Fe9wC3rr91xulYIneAm9fdjElr4p6j98S1vNoCEyNu//gkqDQrgz5nH9lOyNC46JQ5mAprl3tJy06xqZhBrRO/VoW6p5Ogz7vcS1o0UkLcw92pidpQ/f6+7/NK+yt8aeeXuPeKe7nn8nv49vnf5kDvAb782pdn32WfJO4A2vx8fInqUjXm8rDZRL4umwtKZlY7xBK5gxK9X7/2ep4/9Twdo7F7bdQVKBUz9d0JsjlOkxD6XX1YRkEf7OOt4AYq8jKXe0nLTrFJqeL25WYRHBO88mrq5t1TQtyD46Zh8Ufue7r2cH/9/dy2/jZuWX/LeJrhyqor+cKZX+CF0y/w5+Y/z7xxUloGQFNYmDB/mQ78vGnQc531DDSqmZm0Hrsbs16DURdRlm0Kt66/FYHgvmP3xby+dUXKD9X6rrS4ryQcfZ3oApChHePttLgDUJ6lOKMES/Pxjak5/OazuLwr17I6HlJC3AP2xIi7P+jn23u+TbGpeEqDUJjbN97OFtsWvrP3O9g9k0bpSalE7sZJ4l6Qjy9BG6p/7HodAVxnKJv1fLfDTVGUUXuYwsxCLqu8jEcbH8XhjU2csw1aii0GjnetaBuCVYenuwsAjTHA28H1VOSmxb3UXIpAMJifiXdUywbPIX75avNyL2tRSClxj7cU8pmWZ2gabuKLO76IXjNTLFVCxV277sLusU/NU7vtEPRNTcsUFBLoH0D6fHGtyRf08VjLU5zn8lDkmz2n3e3wxDU79Y4Nd+D0O3nkxCMxv8b6InM6cl9hBHuV3gu3ORt7xhqsxjmKAVYReo2ewsxC2i0BZAB2+Rv55SsNK7rDOlZSQ9zHc+6xV8sEZZC737ubWmstF5ddPOd1dTl1XFF5BffX3z/hzzKpxj2MprAApMQfZyfuq22v0u/q5wafes6BHT32yBuYZmN97np2Fu7k/vr78QVi+2G0rjCL5v6xFT2VabWh6hsCoDFrHRV5pnQlU4jyrHJOmhSbapXdyyaa+Y+n65d5VYknNcQ9yvmps/F6x+uctJ/kk5s+iUrM/7/l01s+jcvv4qGGkLvipO7UMOPlkHHm3R8+8TAFxgLO01hnHdjhDwTpHXFHvZk6nTs23kGvs5dnW5+N6f71RVkEgpITK9shctXgDXgxDDuRSF7VbaI8nZIZpzyrnMN65TvrHdXwz1WdPP1eN280pdZ0ptQQd4cdkZGBSh+7wD1y4hFy9DnsLt+94LWV2ZVcUHIBDzY8iCfgmWIaFibcpRqPr3v7SDtvdr7JdbXXocnMm3ifSfSPegnKmUM6ouW84vOoyq7i3mP3xuS5sblESYkdbrcvcGWapaDf1U/OCPgNkqfH1lKZa1zuJa0YyrPKOaUfA60Wb7CQnRyhLMfI1588ii+QOrNVU0Pc4+xO7XP28Wr7q1xTcw1adWR5yds33M6ge5Cnm5+eVdzD/jK+OGrdH218FCEE19VeB6YCGJ35gyJcBhnrhmoYlVBx6/pbqR+s50DvgajvL7EayMnUcbBtOK51pEkMfa4+ckZAmlS0SRtVoZGIaRRxlypBsMiGz5eDuv0dvnF5JU29o/zurVPLvbyEkRLiHoxT3J84+QQBGeC6musivmdn4U7WWtdyb/29yNGQuIdH4qFs7gq9Hn+MXaq+oI/Hmh7jguILKMwsVMR9pFupzJlE17DSVBVvWgaUck+zzsx99dGXRQoh2FpqSYv7CqF/rI+cEUkgW+lBqCs0L/OKVg7hckhnYTZeu4SAl4uMzZxbk8vPXmrC6fUv8woTQ0qIe2Aodi/3oAzyaOOj7CjYMcWMayGEENy+4XYahxp5294AegtodFPOawsKYvaXeaXtFfpd/Vy/9nrlgLkI/G6lMmcSHSFxL7HE/9ht1Bq5fu31vHj6RTpHo/e73lpq4WTfKA53fBVCaeKnv/c9ckZgLKsQjUqMDzNPA2tMa1ALNQO5Wrw9g0ihQbS8whcurWNgzJsy0XtKiLt/aAh1Tk5M9+7r3kfbSJuS+oiSKyqvIEefw4OjTVNSMmE0BQUxb6g+fOJhCjMLOa84NMzYrOTwGZn6w6J9yIU5Q0OWIfoGptm4ue5mBIIHjz8Y9b1bSy1ICYfb0nn35aa/4yBmN7Qaq6jMy0SnSYmvekLQqrSUmEuUcki3B79lO5z8K2eWW7mwzsYvXjnJqCf5o/eU+BcPDA6izrHGdO+fm/+MSWvi0vJLo75Xp9ZxXe11vOwfpitz5vtrCgti8nRvG2kb30hVq0JjA8PiPjpT3IuthoSVuRWZiri47GIeaXwEpy+62t9tZRbUKsE7LYkZ4ZcmdhynmwB4T+SnUzKzUJ5VToNR6cvwZm6D7sNgb+cLl65lyOnj3hSI3pNe3GUgQGB4GE0Mkbs34OWFUy/wgbIPzNq0FAkfXftRAB7Szdxl1xYo4/ZkMLod+EdOPIJaqLm25tqJg6Zw5D71h0X7kJMS6/zj9aLltg23MeId4U8n/xTVfWa9li0l2bzWmFolZUlHMICrXymbPRE0jnv/pJmgxlLDQb3yXfKGZxE1PMPmEgvn1uRy71ut+JO8cibpxT0wPAxSos7JXfjiabzR8QYjvhGuqLwi5vcvMhXxfo+fR4NDeANTHeY0BYXg8xEYGor49TwBD482PspFpRcpG6lhzErdPCNdU67vGHZRbEmsuG+1bWVD7gbuP34/QRndB/y8WhuH24exu9J592Wj8yCBMWXjvV+fnY7cZ6HWWkuPOQD6DDw9I5BbAw2Kq/nH31dJp93Nc0cTZPy3TCS/uIemu2tiSMs80/oMlgwLZ8czNDjg5+ahQQalj+dan5tySlsYbmSKfFP12ZZnGfYMc9O6m6aeyDCDzjSlHNLu8jHi9lNiTWwNsxCC29bfRou9hbc6oxtocF5NHkEJb51Mp2aWi+DJF1E5la/2gD6LdYXLOH5yhVJrqUUKgac0H09TI9RdAS2vgdvBB9blU5Zj5J43W5Z7mXGR9OLuH1Si4mg3VJ0+Jy+3vcyl5ZfOPYAjElyD7HK7qdBZebBh6iakJtSlGk3e/cHjD1KZXcnOwp0zT5oKpkTuYT+M4gSnZQAur7icPEMe99bfG9V928osmPUanj+2cqIeIcTlQogGIUSTEOLOWc5nCCH+EDr/jhCiInS8QgjhCk0XOyiE+PlSrz0WBppfJNcBLr0OkZmZ8LRdKlCVXYVGaOgvMuBpaoK6Dyn+UCdfRK0S3H5OOXtbhzjSkbzFAUkv7oFBJUJUW6MT91c7XsXld8WVkgFgtBcB3FRwDof7DnNs4Nj4qWjF/Uj/EY4MHOHGuhtn3yA1F03JuXcMhcogF+HLq1VrubHuRt7oeINme+SueVq1iis2FfLc0e4V4TMjhFADPwWuADYANwshNky77JPAkJSyBvgh8J1J505KKbeGfv3Dkiw6HjwjdPYcxjYMA1kWagvMqFRpT5npaNVaKrIrOJUTJNDXT8BcB4YcOK6kZj56Vil6rYoH9pxe5pXGTtKLuz/GtMyzLc+SZ8hje/72+BYQql65uuIyDBrDlBJCTW4uqNURl0PeV38fBo2Bq6uvnv0CcyE4JoZqtIXEPdE59zA3rL0BrUrL7+t/H9V9V28pZtTj56XjyzIrfTo7gSYpZbOU0gs8CFwz7ZprgN+G/vwIcLFIVpet1jfoUkO+XdJpsLAuvZk6J7WWWo5kKRUznpYWWHs5nHgO/B6y9Fqu2FTEk4c6V0SQEgtJL+6BcFrGGrm4j3pHea39NXaX754oNYyVUCRttlRyZdWVPN3y9LjXu1Cr0eTnRxS5tznaeKblGW5YewNm3RxfSEuZIu4BpQa3tX8Ms15DTqZu9uvjJNeQywcrP8iTJ5+c6l+/AOdU55JvzuDBvW2Lsq4oKQYmL6Q9dGzWa0ID4e1AeIe+UghxQAjxihDi/MVebNw0v0Sb1kC+Hdq0+awvSov7XNRaazloUp78PY1NcMb14LFDwzMA3HBmCSNuP88dTdC4zCUm6cXdPziAOjsboYm8ieeltpfwBr3xp2RgIgduLuSmdTfhCXh4rPGx8dPagoKIhnbcfeRuNELDHRvvmPsiawUE/ePRe+vAGJV5mYtq5Xrbhttw+V1T/k4LEc5ZvnKibyV4vM/2P2e6M9pc13QBZVLKbcAXgN8LIWbdnRRCfEoIsU8Isa8vTpvnuDj5V/o1Bej80G20sbk0cUPjU40aSw39WSANeiXvXnUhmNfAQeVJdVdVLiVWAw/va1/WdcZK0ot7YGAQdW50ZZDPtj5LYWYhm22b41/ASDfos0FrYK11LTsKdnBv/b3jZZGagoIFx+11j3XzxMknuLb2WvKN+XNfaK1Qfh9qBaC5TxH3xWRdzjp2FOzggeMP4A9G3rV3265yjDo1P3v55CKuLiLaIVzIDEAJMN1bYfwaIYQGyAYGpZQeKeUAgJRyP3ASWDvbm0gpfyml3CGl3GGzzexWXhKGT0P/CZwu5Umuz5TLhqJ0pcxc1FprQQhcJbmKuKvUsOVGaHoBRntRqQTXn1nCGyf7k3KYR9KLu7+3F03+PII4DbvHzpudb3JZ+WUL+rZHxGi3stEZ4u82/x29zl4eb3ocAG1xMb7Oznkbme45eg9SSj6x6RPzv9ckcXf7AnTaXUsyOu32DbfTOdbJMy3PRHyPxajjE+dW8KdDnew/NdOHfgnZC9QKISqFEDrgJuDJadc8CYQfma4H/iqllEIIW2hDFiFEFVALrNyZbA2KF39gUJnYZSgvRa+NM+2YwhSbisnOyKYnX4unsVE5uOUWkAE4rMxq+Mj2EqSExw/EPkB+uUgJcQ/b60bCX0//FX/Qz+WVlydmASPdE9YAwDlF57DZtplfHP4FTp8TXVkZ0uOZM+9+ynGKPzT8gWtqrhmfzD4nWcWg0sBQK22DTqSEKtvii/v7S99PjaWG/33vf6NqavrMhTUUZun5+pNHCQSj94hPBKEc+ueA54B64CEp5VEhxDeFEOGd67uBXCFEE0r6JVwueQFwWAhxCGWj9R+klMv6k2peGp7Gm1dLZs8IASEoXl+73Cta0Qgh2JS3iaO5LgIDA/h6esG2Fop3KKkZKSnNMbKzModH3+2Iac7BcpLU4i6DQXx9fVFF7s+2PkuJqYSNuRsTs4iR7glrAJQPzBfP/CK9zl5+e/S36MqVodbeUzNLqqSUfHfvd9GpdPzjtn9c+L3UGsguhaFWmvuVMWFLEbmrhIpPbf4UzfZmXjz9YsT3ZWZo+PKH1nOkw8EflnFzVUr5tJRyrZSyWkr5rdCxr0kpnwz92S2lvEFKWSOl3CmlbA4d/6OUcqOUcouUcruUMjo/hqXEbYfW12mvOp+iQUm3ycTWqryF71vlbM7bzJ5sZVPVffSIcnDrLdB7FNr2APCR7cU0949xKMkG0SS1uAeGh8HnQ2OLTNwH3YO80/UOl1VclphNSClnRO4A2wu2c1nFZfzve/9Lp0X5ae89NdOI6MmTT/Jq+6t8ZutnyDNE+EW0VsBQK61hcV/knHuY3eW7Kc8q51eHfxVVBHPV5iJ2VubwX39pwO5MWxIsGk0vQNBHS0EtRYOSDnMuZ1XE5pS6mtiUt4nmAolUqXC9955ycMtNYLDCG/8NwBVnFJGhUfHou8m1sZrU4u7vVeqow81CC/HCqRcIyEDiUjLOQaWrbZq4A9y5805Y26C4AAAYCklEQVRMOhNfavgv0Onwnp4q7g2DDfzHO//B9vzt3Lb+tsjf01oBQy2c7Bslz6Qj27A0E+3VKjWf3PRJ6gfreb3j9YjvE0Lw9as2MOz08qMXTyziClc5Dc+AMY9mlYqiQejPLqU8PVpvQc7IOwOvVuAszcX9Xihy12XCzk9Bw1PQ10CWXsulGwr406FOvP7kMRNLDXHPj6w64bnW56jIqqDOWpeYBUwqg5xOniGPfz/332lyNDNgVeNsmagaOdp/lE+/8GnMOjPfveC70dXa560F1xDdnaeX3DPkyqorKcws5FfvRRe9b1yTzU07y/jdW6doCT1xpEkgAR80/gXWXk7PqXoy/JBRUbOoJbKpglVvpdRcSluxDveRIxOf652fAo0B3vwxANdtL2bI6ePlhhXRmBcRKSHu2ghy7l2jXezt3ssVlVck7kMfHpxhminuAOeXnM+/nftvtGR5OHnkDf797X/nX175F2575ja0Ki0/v+TnFGRG9tQxTuEmADR9R1m3xG5/WrWWT2z8BAd6D7Cne09U9/7zJbVoVIL/93LTIq1uFdP6upJzr7uC0frjABRsme6wkGYuzsg7g4O5owSGh/F1hKpiMvNg221w6A9g7+D8Wht5Jh2PJVHVTFKLuy8cuUdQV/zEySeQyLlb+2PBHtoktZTOeclV1Vdx5pkfIn8oyJ+anmB/z35urLuRB698kBprTfTvWaCIe02wlXXLUMN8Xe11FBgL+O93/zuq6D3frOfGs0p59N0OOkOjAdMkiMN/gIxsgtUfQH9KCTi2nH/mMi8qedhs28yB3FEA3EeOTJx43+eU31/6Flq1iqu2rOHF+t6k2TtKanH3d3Whzs1F6OZvvw/KIE80PcHZhWdTYi5J3AKG25TSxEl17rNRVLcNrS/I65f+mZc++hJ37rwTqz62yVEYc3AZitigOrXkkTuAXqPns1s/y3v97/HC6ReiuvdTF1QRlJLfv5O8ZkwrDu8YHHsSNl7DaVcvJT0++k1Gaqtmf5pMM5OzC8/mdD4ENWpchw5PnLBWwDmfgYP3Q8d+rttWgjcQ5M/vRT9feDlIanH3trWjK507ag6zv2c/7aPtXFMz3S8qToZPh2rP58+Z68qVaevelsT4Q3fqq1kvTlOTvzxDj6+uvpoaSw0/fvfH+IKRRzElViMX1uXz0L42fEk+5WbFcPwp8I3B5ps4NnCc0j6Jvag0nW+PgmpLNbmmAnoqs3G+887Uk+f/C2TmwzN3smmNmdp8E4+9mxypmaQWd9/p02gjEPfHmx7HpDVxSfkliV2AvU0x81oAXY2SfvGcaEzI29YHy6hRdaJneR4P1So1n9/+eVodrfzxxB+juveWnWX0jnh4sT55NqZWNIceUD6DZefwRsNeigfAsmnbcq8qqRBCsGvNLvYUu3HX1ysl1mH0WXDx16B9D+LwH7h2ezH7Tg1xamDlFwYkrbhLrxdfdze60vnTLCPeEZ4/9TyXhSx5E8rwabCUL3iZxmZDbbXiaYy/FFBKyQsjpagJQsf+uF8vVt5f8n52Fu7kJwd+woAr8qlLF9bZKMzSJ7VP9ophpBuaX4bNN4JKxcDh/agl1F74vuVeWdKxq2gX+0o9ICVj70wrFth6K5SeDc/8X66rBiFIio3VpBV3X1cXBINoS+aP3B858Qguv4uP1n00wQtwK1+ueTZTwwghyFi7FndD/OJ+asDJX53VSASceiPu14sVIQRfOfsrOH1Ofrj/hxHfp1GruPGsUl5t7KMjvbEaH4ceABmEzTcSCAawnGoFIHf71uVdVxJyzppzaCqCgF7L2NvTRkuqVHDtz0EGKHzxn3lfpZXHDqx8O4KkFXdvm9ItNl/k7gv6uL/+fnYW7mRDboJLwwabAakM1o2AjLq1eBob5zUQi4T9p4ZwYMKTu14pgVtGqixV3L7xdp44+QQHeg9EfN8NO5R/sz/uT66OvxVFwA9774aK8yGvlheajlDT5WXMYo6oeizNVPIMeVTn1dFSacT51tszL8ipgsu/Da2v8X8tL3JqwLni5wQnrbj72pTH+vly7s+1PkePs2d+j/RYGQjlzyMUd/3atUiXa1Ybgmh49/QQ5gwNGdXnKd4Xfm9crxcvf7/57ynKLOLrb34dlz+ySLzEauR91bk8vL+N4DIZiiU9DU8rez5n/z0ADx1+lfVtEn06ao+ZS8ov4c01I3hbWyfq3Sez7WOw/mrOqP8hlxuP85s3W5d8jdGQtOLuaWxCZTTOaRompeR3R39HZXYl5xWfl/gF9IdSLJGK+xlnAOAO+1fEyN7WQbaWWRAV54PfBe3RNRMlGqPWyDfP/SYt9pao0jMf3VFK26CLt1tWdvSzIpFS8T2xlMHaK/AHgnSdeJOcUSh+/8XLvbqk5UOVH2JvjVJl5Hj2uZkXCAEf/hnCVscPxY84UX+YtsGV6/OetOLubmggo64OoZr9r/BW11vUD9Zz+4bbE+PbPp3+JmVqS0Zk5YgZNTWojEZcBw/G/Jadwy5O9Ixyfm0eVF8Eat34SLDlZFfRLm5bfxsPHH+ANzoi2we4bGMhZr2GR5J0ys2y0vwydOyD8/4/UGt4sb6Hui4l2DDu3Lm8a0tiyrLKyF+7mY4SA46nnpr9ogwz3PR7MrRq7tZ9j4dePbS0i4yCpBR3KSWehgYy1s3uESOl5L/f/W+KMosS25E6mb7jkBe5X7ZQq9Fv3owzDnF/KeRrcVFdvvIhq7xAqXNeARs7n9/+eaqzq/ny61+me2zhsYJ6rZprtq7h6SNdONzJ0fG3IpASXvqWElhsvRWAX73zBttbXPhsFnQVFcu7viTng5Uf5IU6D+5jx5Sh2bORU4nqpvsoV/VxycF/xG4fnv26ZSYpxd3X0UFwdBT9uvWznn+29VmODRzjM1s/g069CMOj/R7oOQprostvGrZuwdNwgsBobDWyLx3vo9himGheqvsgDLVAX0NMr5dI9Bo9P7jwB3gDXv7pr/+E07fw4+oNZ5bi9gX586GuJVhhinDscWjfCxd9GTQZHOmw09DzGptbJeZLLk43L8XJ5ZWXs2eDFinA8dTTc19YcR6dF/+UTbKJgd/crGjCCiMpxd1dXw+AfpbIfdQ7yvf2fo/1Oeu5quqqxVlA7zHF6rcoOnHP3LULAgGc78yyG78Aox4/bzT184F1+RNf4LrQgO+GOR4hl5gqSxXfueA7HB88zlff+CqBYGDe6zeXZFNXYOahfcs3yCOp8IzAc19V/IW23gLAz15u4uyhfej8kH/Zlcu8wOQnz5DHeVuv5li5isFH/4j0zz03uPy8G/lD4RepGn4Tz+9vXXECn5Ti7tq3D5GRQca6dTPO/WD/D+h39fPVXV+Nzko3GjpDqZUoI3fj9u2ojEZGX30t6rd8+nAXLl+AD2+bNIova40yEuzIY1G/3mJxQckFfHHHF3n+1PN8461vzDuWTwjBDTtKONg2TGPPyBKuMkl58Zvg6IArfwgqNe+eHuLZEwe56NgQ3lwzxrPOWu4VpgSf2PQJntkuCHZ2MfLC/JPH3nfDF/iq/5NkND8Pf/iY0v+yQkhKcR978y2MZ25HlZEx5fhLp1/i4RMPc8fGO9hs27x4Czj1JhjzwFoZ1W1CpyPz3Pcx+sorUde7P7SvjWpbJtvLLFNPbLkJet6D7viqcBLJHRvv4NNbPs3jTY/zjTe/MW8Ef+22YnQaFb9+IzG+OylLwzOw55dK6WPpTvyBIN948iiV+lfY2iyxXnMtQp0ehp0IKrMrsVxyKd05Knp+9j/zflcr8jIRO/6Gr/j/Ftn4F7j3WmWIzwog6cTd39eHp7ER4znnTDl+cvgkX3r9S6zPWR/ZPNJYCQaVaoXqi5TSqCgx796Nv7sb5959Ed9zuH2YfaeG+OiOWQyhNn0EVFo49GDUa1lMPrP1M/zDln/gsabH+NxfP4fD65j1ulxTBjfuKOWR/e3pjtW56D0Oj/09FG6GS/4VgF+82sx7Xe1cdeQAUqWi6GMfX941phif3f6PPHy+Gv+JJuyPPT7vtf+yu46/GK7gP4z/B9mxD359OQy1Ls1C5yHpxN3x/PMAmM6bqF1vG2njU89/Cr1az48/8OPF2UQN030Yxnqh6qKYbjdfeimqrCyGH3444nv+6y8nsBq13HL2LCZlxhxY90E4cB94RmNa02Lx2a2f5a5dd/F219vc8tQt1A/Uz3rdP1xYDcAPn0+P4ZvBYDPc9xHQ6OHG+0Cr5/XGfr7/lwbeZ3ueDxz0o7tyN9qi+W2n00RHlaWKdTd8kvoS6Pj2t/D1zG10l23U8t2PbOZXg1v5een3kKPd8IsL4Pg8G7JLQFKJu5SS4QceRL9xI/r1SqXM4b7DfOzpj+ENePnl7l9SmLnIPtaHHlTqy8ObmVGi0uvJ/vA1OJ59du5Sq0k8f6yHV0/08ekLqzHr55iXes4/gnsY3v1tTGtaTD5a91Hu3n03Tt//3965B0dV3XH880s2DyDIK5BgwAR5CtUZeQQ12mJBIGpBrWgQAV8TXvVZURCrTscREdqxjoNCRUFQY4tCMwiIFAas5ZUgBOQNCRBF0IQmYEJCkl//uDe4LpvsJvvIJpzPzE7u7v3tud8993d+uffcc36nhLTP0pizbc5FI2kSWjfj4RuvZGl2PpuPmElNF8jPhndTrZS+Y/4JbRLJyiskfXEWSXH5/H7FJoiM4Mqnn2topU2SSddOZv2Y3pSXlXBgyiNUldZ8Z3lzrw489ttuzNrXnnm93kPbJEHGaPjsj9YqWQ2AV8FdRIaLyH4ROSQi09zsjxKRj+39W0Qkyd9CAc6uW0fZwYO0TruX0opS5u6Yy/hV44l2RLNw+EJ6tOkRiMP+zLkiyMmAXrdZV8z1JDY9nbDISE6+MrPW/rxjBSVMXbqTXyVcxvgbkmousPMASEyBr95oMEeqjb5xfVk2chl3db+LRXsWMeyTYczbOY+isp+1Pj64O53bNuOJjB2cKPJv94wv/isi0+3P94vIML8Kq4mKMtg4G94bDo5IeGAlGn8NGVuPcd87W2jfqoAxm97iqnyl44svmlwyASIiPIIX0+aRcXd72H2QnePuoeL06Rrtn7ylB/cNvIJXN59jWqs5nB8wwcr/8+YA6846yKlCxFNmMxEJBw4AtwD5wDZgtKrucbKZDFyjqhNFJA24U1Xvra3c/v37a1aW9/3O5cePc/S+MVS1bsmaPw3h07xMfiz9kdQuqcwYOINWUa28LqvefPY0bHsH0tfD5b7lzC5c8gEnX36ZNmPHEjft2Ysehn197DQTl2Rz7nwVy6ek0CW2Re0FfpsNfx8MV4+Cu+bX63lAMMj5IYf5OfPZkL+BiLAIUhJSGJo4lAHxAygsas6ot/9L3GXRzBvbj+5x9V9pSkSyVbW/L/4rIr2Bj4Bk4HJgLdBDVWsd41lX375A8XfWknnbFlh5Y3rfwfnUv7DheCXzNx5ha+4pbm3+H4Z/uYru+ZVETBhHtyen1/04hjpRUFrA/DljuS0jl8qoCJo/Mo6u9z6Io127i2xVldfXHuSNdQeJvyya5689R+rR2YSd+NqaeDbgIeh9R50mQLpS7dse7bwI7tcDL6nqMPv9dPtHzHSy+dy22SQiDuB7oL3WUnhNDeBM+RmKy4s5W36W4vJiCotPIos+ocOqbCq0kpdGC8fjw7kp4SYe6PMA/eM9/kbfKP8JCnMh+z0rsA+cCKmzfC5WVTn5ykxOL15MWNduyI2/4Rxh5Pbsz4qzzfliz0k6topm4YPJ9PR2Ob0Nr1mzF3vdDjc8CrE9ILqVx5WiGoL9hfvJPJzJ6tzVnCq1+jM7tuhIu8jO7D0WxbnStvTrlMh1iZ3o2T6OLu3aEBMZTUR4BA5xEBYWhqrSMrKl2/QSTsG93v4LTHO2dbar7be59e2qKig/A+UlcL7E8quzp6DoGOdP7KYsbwstCvcgWkVBu758lfAwq0quYktuIcVhWbRoc4BnVm+n74FySlo4iJ32DImjxtav8g11pqyyjI9Xzqb53Az65FZSJVAS2wKJiSGipJzcORPp1Ln3hXi0NbeQWav3kX30NM0iwkjveIS7yz6lc5HtF227Qqf+EH+1tZpbTBzEdIDIGHBEQUQz6+UGb4O7w4vflQA4zzLJBwbWZKOqFSJSBLQDfvSi/F8wee1kdvzw8xR9UWX2hkr2XhHFvrSB3HP1TQxNGhr4vnWwujherX6IKZA8AYa94peiRYT4Gc9R3LUXe19/i66L3iUCZXm/s+zufQNTbu7KpEHdiIny5hTZ/Hqq5RjrZ8K+FdZnaR9ZD1xDjJ5tezK17VSe6vcUB04fIOtkFrt+2EVecR6RbXZT2bKEnHLIOQjUsoDV+nvWE9sstrZD+eK/CcBml+8mUB8KD8Ob7ttjuKM5OWVJbKm6k+VVKRz9Nh6+hc5ti7ixWyz/izlB3k+HKRzUh9Mj+pCc9hiOmOCvn3spExUexbjfPU/BkElsXLeQgn+vwXH8exwlpyiJhfe3vsYtFaMuBPfkLm1ZOvF6Nh8pZNXuEyw/EM3fCpLoSAEvdM8ltdleyP3SulNzR7chcH/dVjlzxZsr91HAMFV9xH4/FkhW1UedbL6xbfLt94dtmwKXstKBdPttTyBQ8+Zjqcc/lgAQCjpCQQMEX0eiqrb3xX+BPwObVHWJ/fkCYKWqXtTqgujbdSVUzn81Ro9nPGlKVFWPD1q8uSzMB5yTpncCXJf/rrbJt29rWwEXjeRX1fnAfC+O6RMikuXNbculoCMUNDSwDl/815vvAsHz7boSKue/GqPHM/7S5M1omW1AdxHpIiKRQBqQ6WKTCVSviHE3sK62/naDIYj44r+ZQJo9mqYL0B1o2AT6BoOXeLxyt/sg/wB8DoQD76rqNyLyZyBLVTOBBcBiETmEdcWTFkjRBoO3+OK/tt0/gD1ABTDF00gZgyFU8Njn3hgRkXT7NvmS1xEKGkJJx6VGqNW70eMZf2lqksHdYDAYLnUaVfoBg8FgMHhHow7uoZAWQUQ6i8h6EdkrIt+IyONubAaJSJGI7LBfLwRAR56I7LLLv2h2mFi8YddFjoj09fPxezr9vh0iUiwiT7jYBLweDBcjIrNFZJ993peJSGvP3wqIjlrba5C1eGy3DYGIhIvI1yKywufCVLVRvrAejh0GrgQigZ1AbxebycDb9nYa8HEAdHQE+trbLbGmurvqGASsCHB95AGxtey/FVgFCHAdsCXA5+Z7rPG4Qa0H83J7PoYCDnt7FjCrATR4bK9B1uOx3TaQrqeAD/3RThrzlXsycEhVj6hqOZABjHSxGQlUp0pcCgwW8W/SFVU9oarb7e0zwF7qO4sxsIwE3leLzUBrEQlUntjBwGFVPRqg8g11QFXXqGr1enGbscbrBxtv2mvQCMV2KyKdgNuAd/xRXmMO7u6mlbuenF9MKweqp5UHBLvb51pgi5vd14vIThFZJSJ9AnB4BdaISLY9W9IVb+rLX6RhJdxyR6DrwVA7D2HdwQWbYPpfnfDQboPJ68AzQN2WaauBOiQuCTncXYG7Dv3xxsYviEgM8AnwhKq6Lju0HauL4qyI3Aosx5oQ409SVPU7EekAfCEi+1R1o7NEN9/xe13YE4VGAO7SFQajHi5JRGQt4C7h0gxV/ZdtMwNrvP4HwdRmE7S2WBc8tNtg6rgdOKWq2SIyyB9lNubg7re0CL4iIhFYDvKBqn7qut/ZaVR1pYjMFZFYVfVbTgtV/c7+e0pElmHdBjsHd6+n0vtIKrBdVU+60RjwerhUUdUhte0XkfHA7cBgtTt3g0yw/M9rPLXbIJMCjLAveqKBy0RkiareX98CG3O3TEikRbD78BcAe1X1rzXYxFf39YtIMla9+23JIRFpISItq7exHqDtdjHLBMbZo2auA4pU9YS/NDgxmhq6ZAJdDwb3iMhw4FlghKqWeLIPEN6016DhTbsNJqo6XVU7qWoSVt2s8yWwQyO+ctfQSYuQAowFdolIda7i54ArbJ1vY/1jmSQiFUApkObnfzJxwDI7bjqAD1V1tYhMdNKwEmvEzCGgBHjQj8cHQESaYy2KMcHpM2cNga4Hg3veBKKwuusANqvqxGAKqKm9BlODC27brao27MKnfsTMUDUYDIYmSGPuljEYDAZDDZjgbjAYDE0QE9wNBoOhCWKCu8FgMDRBTHA3GAyGJogJ7gaDwdAEMcHdYDAYmiAmuBsMBkMT5P8LzcjvxHyNCQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Before & After mean normalization\n",
    "fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(6, 5))\n",
    "\n",
    "#sns.kdeplot for univariate density\n",
    "ax1.set_title('Before Scaling')\n",
    "sns.kdeplot(X_train['sepal length (cm)'], ax=ax1)\n",
    "sns.kdeplot(X_train['sepal width (cm)'], ax=ax1)\n",
    "sns.kdeplot(X_train['petal length (cm)'], ax=ax1)\n",
    "sns.kdeplot(X_train['petal width (cm)'], ax=ax1)\n",
    "\n",
    "ax2.set_title('After Scaling')\n",
    "sns.kdeplot(X_train_scaled['sepal length (cm)'], ax=ax2)\n",
    "sns.kdeplot(X_train_scaled['sepal width (cm)'], ax=ax2)\n",
    "sns.kdeplot(X_train_scaled['petal length (cm)'], ax=ax2)\n",
    "sns.kdeplot(X_train_scaled['petal width (cm)'], ax=ax2)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_1 (Dense)              (None, 12)                60        \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 8)                 104       \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 3)                 27        \n",
      "=================================================================\n",
      "Total params: 191\n",
      "Trainable params: 191\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "#Defining the model\n",
    "model = Sequential()\n",
    "model.add(Dense(12, input_dim = X_train_scaled.shape[1], activation = 'relu'))\n",
    "model.add(Dense(8, activation = 'relu'))\n",
    "model.add(Dense(3, activation = 'softmax'))\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(loss = 'categorical_crossentropy', optimizer='adam', metrics = ['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/500\n",
      "112/112 [==============================] - 0s 4ms/step - loss: 1.0683 - acc: 0.4911 \n",
      "Epoch 2/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.9852 - acc: 0.6696\n",
      "Epoch 3/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.8981 - acc: 0.6786\n",
      "Epoch 4/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.8119 - acc: 0.6964\n",
      "Epoch 5/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.7246 - acc: 0.7321\n",
      "Epoch 6/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.6441 - acc: 0.7500\n",
      "Epoch 7/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.5721 - acc: 0.7946\n",
      "Epoch 8/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.5131 - acc: 0.8304\n",
      "Epoch 9/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.4649 - acc: 0.8304\n",
      "Epoch 10/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.4268 - acc: 0.8304\n",
      "Epoch 11/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.3954 - acc: 0.8304\n",
      "Epoch 12/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.3691 - acc: 0.8393\n",
      "Epoch 13/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.3483 - acc: 0.8482\n",
      "Epoch 14/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.3307 - acc: 0.8393\n",
      "Epoch 15/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.3185 - acc: 0.8482\n",
      "Epoch 16/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.3047 - acc: 0.8393\n",
      "Epoch 17/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.2912 - acc: 0.8661\n",
      "Epoch 18/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.2825 - acc: 0.8661\n",
      "Epoch 19/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.2710 - acc: 0.8750\n",
      "Epoch 20/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.2612 - acc: 0.8839\n",
      "Epoch 21/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.2544 - acc: 0.8839\n",
      "Epoch 22/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.2455 - acc: 0.8929\n",
      "Epoch 23/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.2386 - acc: 0.9018\n",
      "Epoch 24/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.2307 - acc: 0.9018\n",
      "Epoch 25/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.2249 - acc: 0.9107\n",
      "Epoch 26/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.2143 - acc: 0.9196\n",
      "Epoch 27/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.2071 - acc: 0.9196\n",
      "Epoch 28/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.1991 - acc: 0.9286\n",
      "Epoch 29/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.1907 - acc: 0.9286\n",
      "Epoch 30/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.1836 - acc: 0.9464\n",
      "Epoch 31/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.1719 - acc: 0.9554\n",
      "Epoch 32/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.1641 - acc: 0.9554\n",
      "Epoch 33/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.1554 - acc: 0.9554\n",
      "Epoch 34/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.1479 - acc: 0.9554\n",
      "Epoch 35/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.1417 - acc: 0.9554\n",
      "Epoch 36/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.1376 - acc: 0.9554\n",
      "Epoch 37/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.1309 - acc: 0.9643\n",
      "Epoch 38/500\n",
      "112/112 [==============================] - 0s 571us/step - loss: 0.1246 - acc: 0.9732\n",
      "Epoch 39/500\n",
      "112/112 [==============================] - 0s 571us/step - loss: 0.1199 - acc: 0.9732\n",
      "Epoch 40/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.1168 - acc: 0.9732\n",
      "Epoch 41/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.1104 - acc: 0.9732\n",
      "Epoch 42/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.1084 - acc: 0.9732\n",
      "Epoch 43/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.1032 - acc: 0.9732\n",
      "Epoch 44/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.1020 - acc: 0.9732\n",
      "Epoch 45/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0964 - acc: 0.9732\n",
      "Epoch 46/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0942 - acc: 0.9732\n",
      "Epoch 47/500\n",
      "112/112 [==============================] - 0s 589us/step - loss: 0.0913 - acc: 0.9732\n",
      "Epoch 48/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0882 - acc: 0.9732\n",
      "Epoch 49/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0858 - acc: 0.9732\n",
      "Epoch 50/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0832 - acc: 0.9732\n",
      "Epoch 51/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0820 - acc: 0.9732\n",
      "Epoch 52/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0791 - acc: 0.9732\n",
      "Epoch 53/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0761 - acc: 0.9732\n",
      "Epoch 54/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0736 - acc: 0.9732\n",
      "Epoch 55/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0717 - acc: 0.9732\n",
      "Epoch 56/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0708 - acc: 0.9732\n",
      "Epoch 57/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0686 - acc: 0.9732\n",
      "Epoch 58/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0657 - acc: 0.9732\n",
      "Epoch 59/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0634 - acc: 0.9821\n",
      "Epoch 60/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0620 - acc: 0.9821\n",
      "Epoch 61/500\n",
      "112/112 [==============================] - 0s 509us/step - loss: 0.0596 - acc: 0.9732\n",
      "Epoch 62/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0618 - acc: 0.9821\n",
      "Epoch 63/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0579 - acc: 0.9821\n",
      "Epoch 64/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0565 - acc: 0.9821\n",
      "Epoch 65/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0556 - acc: 0.9821\n",
      "Epoch 66/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0536 - acc: 0.9821\n",
      "Epoch 67/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0553 - acc: 0.9821\n",
      "Epoch 68/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0530 - acc: 0.9821\n",
      "Epoch 69/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0508 - acc: 0.9911\n",
      "Epoch 70/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0506 - acc: 0.9821\n",
      "Epoch 71/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0532 - acc: 0.9821\n",
      "Epoch 72/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0491 - acc: 0.9911\n",
      "Epoch 73/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0480 - acc: 0.9911\n",
      "Epoch 74/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0470 - acc: 0.9911\n",
      "Epoch 75/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0476 - acc: 0.9911\n",
      "Epoch 76/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0471 - acc: 0.9911\n",
      "Epoch 77/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0474 - acc: 0.9911\n",
      "Epoch 78/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0444 - acc: 0.9911\n",
      "Epoch 79/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0451 - acc: 0.9911\n",
      "Epoch 80/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0446 - acc: 0.9911\n",
      "Epoch 81/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0422 - acc: 0.9911\n",
      "Epoch 82/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0428 - acc: 0.9911\n",
      "Epoch 83/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 410us/step - loss: 0.0420 - acc: 0.9911\n",
      "Epoch 84/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0414 - acc: 1.0000\n",
      "Epoch 85/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0421 - acc: 0.9911\n",
      "Epoch 86/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0388 - acc: 1.0000\n",
      "Epoch 87/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0392 - acc: 0.9911\n",
      "Epoch 88/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0395 - acc: 0.9911\n",
      "Epoch 89/500\n",
      "112/112 [==============================] - 0s 535us/step - loss: 0.0398 - acc: 0.9911\n",
      "Epoch 90/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0389 - acc: 0.9911\n",
      "Epoch 91/500\n",
      "112/112 [==============================] - 0s 598us/step - loss: 0.0384 - acc: 0.9911\n",
      "Epoch 92/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0367 - acc: 0.9911\n",
      "Epoch 93/500\n",
      "112/112 [==============================] - 0s 500us/step - loss: 0.0375 - acc: 0.9911\n",
      "Epoch 94/500\n",
      "112/112 [==============================] - 0s 500us/step - loss: 0.0384 - acc: 0.9911\n",
      "Epoch 95/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0359 - acc: 1.0000\n",
      "Epoch 96/500\n",
      "112/112 [==============================] - 0s 598us/step - loss: 0.0367 - acc: 1.0000\n",
      "Epoch 97/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0354 - acc: 0.9911\n",
      "Epoch 98/500\n",
      "112/112 [==============================] - 0s 509us/step - loss: 0.0345 - acc: 0.9911\n",
      "Epoch 99/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0343 - acc: 0.9911\n",
      "Epoch 100/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0338 - acc: 0.9911\n",
      "Epoch 101/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0346 - acc: 0.9911\n",
      "Epoch 102/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0337 - acc: 1.0000\n",
      "Epoch 103/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0327 - acc: 0.9911\n",
      "Epoch 104/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0321 - acc: 1.0000\n",
      "Epoch 105/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0327 - acc: 1.0000\n",
      "Epoch 106/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0350 - acc: 0.9911\n",
      "Epoch 107/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0312 - acc: 0.9911\n",
      "Epoch 108/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0317 - acc: 0.9911\n",
      "Epoch 109/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0313 - acc: 1.0000\n",
      "Epoch 110/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0309 - acc: 0.9911\n",
      "Epoch 111/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0309 - acc: 1.0000\n",
      "Epoch 112/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0302 - acc: 1.0000\n",
      "Epoch 113/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0298 - acc: 1.0000\n",
      "Epoch 114/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0307 - acc: 1.0000\n",
      "Epoch 115/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0299 - acc: 1.0000\n",
      "Epoch 116/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0296 - acc: 0.9911\n",
      "Epoch 117/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0304 - acc: 1.0000\n",
      "Epoch 118/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0306 - acc: 0.9911\n",
      "Epoch 119/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0278 - acc: 1.0000\n",
      "Epoch 120/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0283 - acc: 1.0000\n",
      "Epoch 121/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0288 - acc: 1.0000\n",
      "Epoch 122/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0282 - acc: 0.9911\n",
      "Epoch 123/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0273 - acc: 0.9911\n",
      "Epoch 124/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0269 - acc: 1.0000\n",
      "Epoch 125/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0270 - acc: 1.0000\n",
      "Epoch 126/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0272 - acc: 1.0000\n",
      "Epoch 127/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0281 - acc: 0.9911\n",
      "Epoch 128/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0258 - acc: 1.0000\n",
      "Epoch 129/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0273 - acc: 1.0000\n",
      "Epoch 130/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0262 - acc: 1.0000\n",
      "Epoch 131/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0259 - acc: 1.0000\n",
      "Epoch 132/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0271 - acc: 1.0000\n",
      "Epoch 133/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0248 - acc: 0.9911\n",
      "Epoch 134/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0254 - acc: 1.0000\n",
      "Epoch 135/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0261 - acc: 1.0000\n",
      "Epoch 136/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0255 - acc: 0.9911\n",
      "Epoch 137/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0243 - acc: 1.0000\n",
      "Epoch 138/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0251 - acc: 1.0000\n",
      "Epoch 139/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0247 - acc: 0.9911\n",
      "Epoch 140/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0233 - acc: 1.0000\n",
      "Epoch 141/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0231 - acc: 1.0000\n",
      "Epoch 142/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0234 - acc: 1.0000\n",
      "Epoch 143/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0236 - acc: 1.0000\n",
      "Epoch 144/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0234 - acc: 1.0000\n",
      "Epoch 145/500\n",
      "112/112 [==============================] - 0s 330us/step - loss: 0.0231 - acc: 0.9911\n",
      "Epoch 146/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0229 - acc: 1.0000\n",
      "Epoch 147/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0246 - acc: 1.0000\n",
      "Epoch 148/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0231 - acc: 0.9911\n",
      "Epoch 149/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0219 - acc: 1.0000\n",
      "Epoch 150/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0230 - acc: 1.0000\n",
      "Epoch 151/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0215 - acc: 1.0000\n",
      "Epoch 152/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0210 - acc: 1.0000\n",
      "Epoch 153/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0212 - acc: 1.0000\n",
      "Epoch 154/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0220 - acc: 1.0000\n",
      "Epoch 155/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0224 - acc: 0.9911\n",
      "Epoch 156/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0206 - acc: 1.0000\n",
      "Epoch 157/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0206 - acc: 1.0000\n",
      "Epoch 158/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0203 - acc: 1.0000\n",
      "Epoch 159/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0211 - acc: 1.0000\n",
      "Epoch 160/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0202 - acc: 1.0000\n",
      "Epoch 161/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0203 - acc: 1.0000\n",
      "Epoch 162/500\n",
      "112/112 [==============================] - 0s 330us/step - loss: 0.0197 - acc: 1.0000\n",
      "Epoch 163/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0196 - acc: 1.0000\n",
      "Epoch 164/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0202 - acc: 1.0000\n",
      "Epoch 165/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 428us/step - loss: 0.0194 - acc: 1.0000\n",
      "Epoch 166/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0191 - acc: 1.0000\n",
      "Epoch 167/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0192 - acc: 1.0000\n",
      "Epoch 168/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0195 - acc: 1.0000\n",
      "Epoch 169/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0184 - acc: 1.0000\n",
      "Epoch 170/500\n",
      "112/112 [==============================] - 0s 312us/step - loss: 0.0192 - acc: 1.0000\n",
      "Epoch 171/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0193 - acc: 1.0000\n",
      "Epoch 172/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0215 - acc: 1.0000\n",
      "Epoch 173/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0184 - acc: 1.0000\n",
      "Epoch 174/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0186 - acc: 1.0000\n",
      "Epoch 175/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0182 - acc: 1.0000\n",
      "Epoch 176/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0177 - acc: 1.0000\n",
      "Epoch 177/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0186 - acc: 1.0000\n",
      "Epoch 178/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0193 - acc: 1.0000\n",
      "Epoch 179/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0178 - acc: 1.0000\n",
      "Epoch 180/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0174 - acc: 1.0000\n",
      "Epoch 181/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0173 - acc: 1.0000\n",
      "Epoch 182/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0171 - acc: 1.0000\n",
      "Epoch 183/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0184 - acc: 1.0000\n",
      "Epoch 184/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0175 - acc: 1.0000\n",
      "Epoch 185/500\n",
      "112/112 [==============================] - 0s 312us/step - loss: 0.0169 - acc: 1.0000\n",
      "Epoch 186/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0174 - acc: 1.0000\n",
      "Epoch 187/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0169 - acc: 1.0000\n",
      "Epoch 188/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0167 - acc: 1.0000\n",
      "Epoch 189/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0163 - acc: 1.0000\n",
      "Epoch 190/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0159 - acc: 1.0000\n",
      "Epoch 191/500\n",
      "112/112 [==============================] - ETA: 0s - loss: 0.0014 - acc: 1.000 - 0s 419us/step - loss: 0.0157 - acc: 1.0000\n",
      "Epoch 192/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0160 - acc: 1.0000\n",
      "Epoch 193/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0156 - acc: 1.0000\n",
      "Epoch 194/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0151 - acc: 1.0000\n",
      "Epoch 195/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0170 - acc: 1.0000\n",
      "Epoch 196/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0154 - acc: 1.0000\n",
      "Epoch 197/500\n",
      "112/112 [==============================] - ETA: 0s - loss: 0.0012 - acc: 1.000 - 0s 437us/step - loss: 0.0159 - acc: 1.0000\n",
      "Epoch 198/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0158 - acc: 1.0000\n",
      "Epoch 199/500\n",
      "112/112 [==============================] - 0s 571us/step - loss: 0.0146 - acc: 1.0000\n",
      "Epoch 200/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0148 - acc: 1.0000\n",
      "Epoch 201/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0146 - acc: 1.0000\n",
      "Epoch 202/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0150 - acc: 1.0000\n",
      "Epoch 203/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0144 - acc: 1.0000\n",
      "Epoch 204/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0145 - acc: 1.0000\n",
      "Epoch 205/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0145 - acc: 1.0000\n",
      "Epoch 206/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0154 - acc: 1.0000\n",
      "Epoch 207/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0139 - acc: 1.0000\n",
      "Epoch 208/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0142 - acc: 1.0000\n",
      "Epoch 209/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0138 - acc: 1.0000\n",
      "Epoch 210/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0148 - acc: 1.0000\n",
      "Epoch 211/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0136 - acc: 1.0000\n",
      "Epoch 212/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0131 - acc: 1.0000\n",
      "Epoch 213/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0143 - acc: 1.0000\n",
      "Epoch 214/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0149 - acc: 1.0000\n",
      "Epoch 215/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0138 - acc: 1.0000\n",
      "Epoch 216/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0135 - acc: 1.0000\n",
      "Epoch 217/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0140 - acc: 1.0000\n",
      "Epoch 218/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0143 - acc: 1.0000\n",
      "Epoch 219/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0154 - acc: 1.0000\n",
      "Epoch 220/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0125 - acc: 1.0000\n",
      "Epoch 221/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0125 - acc: 1.0000\n",
      "Epoch 222/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0146 - acc: 1.0000\n",
      "Epoch 223/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0127 - acc: 1.0000\n",
      "Epoch 224/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0129 - acc: 1.0000\n",
      "Epoch 225/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0124 - acc: 1.0000\n",
      "Epoch 226/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0128 - acc: 1.0000\n",
      "Epoch 227/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0122 - acc: 1.0000\n",
      "Epoch 228/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0129 - acc: 1.0000\n",
      "Epoch 229/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0121 - acc: 1.0000\n",
      "Epoch 230/500\n",
      "112/112 [==============================] - 0s 518us/step - loss: 0.0120 - acc: 1.0000\n",
      "Epoch 231/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0119 - acc: 1.0000\n",
      "Epoch 232/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0119 - acc: 1.0000\n",
      "Epoch 233/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0121 - acc: 1.0000\n",
      "Epoch 234/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0115 - acc: 1.0000\n",
      "Epoch 235/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0114 - acc: 1.0000\n",
      "Epoch 236/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0111 - acc: 1.0000\n",
      "Epoch 237/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0122 - acc: 1.0000\n",
      "Epoch 238/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0119 - acc: 1.0000\n",
      "Epoch 239/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0113 - acc: 1.0000\n",
      "Epoch 240/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0124 - acc: 1.0000\n",
      "Epoch 241/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0116 - acc: 1.0000\n",
      "Epoch 242/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0109 - acc: 1.0000\n",
      "Epoch 243/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0109 - acc: 1.0000\n",
      "Epoch 244/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0106 - acc: 1.0000\n",
      "Epoch 245/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0105 - acc: 1.0000\n",
      "Epoch 246/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 393us/step - loss: 0.0116 - acc: 1.0000\n",
      "Epoch 247/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0106 - acc: 1.0000\n",
      "Epoch 248/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0112 - acc: 1.0000\n",
      "Epoch 249/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0111 - acc: 1.0000\n",
      "Epoch 250/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0113 - acc: 1.0000\n",
      "Epoch 251/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0099 - acc: 1.0000\n",
      "Epoch 252/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0100 - acc: 1.0000\n",
      "Epoch 253/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0103 - acc: 1.0000\n",
      "Epoch 254/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0110 - acc: 1.0000\n",
      "Epoch 255/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0109 - acc: 1.0000\n",
      "Epoch 256/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0099 - acc: 1.0000\n",
      "Epoch 257/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0104 - acc: 1.0000\n",
      "Epoch 258/500\n",
      "112/112 [==============================] - 0s 330us/step - loss: 0.0096 - acc: 1.0000\n",
      "Epoch 259/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0099 - acc: 1.0000\n",
      "Epoch 260/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0101 - acc: 1.0000\n",
      "Epoch 261/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0097 - acc: 1.0000\n",
      "Epoch 262/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0103 - acc: 1.0000\n",
      "Epoch 263/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0091 - acc: 1.0000\n",
      "Epoch 264/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0098 - acc: 1.0000\n",
      "Epoch 265/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0102 - acc: 1.0000\n",
      "Epoch 266/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0088 - acc: 1.0000\n",
      "Epoch 267/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0100 - acc: 1.0000\n",
      "Epoch 268/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0099 - acc: 1.0000\n",
      "Epoch 269/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0101 - acc: 1.0000\n",
      "Epoch 270/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0098 - acc: 1.0000\n",
      "Epoch 271/500\n",
      "112/112 [==============================] - 0s 883us/step - loss: 0.0091 - acc: 1.0000\n",
      "Epoch 272/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0093 - acc: 1.0000\n",
      "Epoch 273/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0093 - acc: 1.0000\n",
      "Epoch 274/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0087 - acc: 1.0000\n",
      "Epoch 275/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0091 - acc: 1.0000\n",
      "Epoch 276/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0083 - acc: 1.0000\n",
      "Epoch 277/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0084 - acc: 1.0000\n",
      "Epoch 278/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0087 - acc: 1.0000\n",
      "Epoch 279/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0103 - acc: 1.0000\n",
      "Epoch 280/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0085 - acc: 1.0000\n",
      "Epoch 281/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0083 - acc: 1.0000\n",
      "Epoch 282/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0091 - acc: 1.0000\n",
      "Epoch 283/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0082 - acc: 1.0000\n",
      "Epoch 284/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0077 - acc: 1.0000\n",
      "Epoch 285/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0083 - acc: 1.0000\n",
      "Epoch 286/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0098 - acc: 1.0000\n",
      "Epoch 287/500\n",
      "112/112 [==============================] - 0s 509us/step - loss: 0.0083 - acc: 1.0000\n",
      "Epoch 288/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0081 - acc: 1.0000\n",
      "Epoch 289/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0082 - acc: 1.0000\n",
      "Epoch 290/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0079 - acc: 1.0000\n",
      "Epoch 291/500\n",
      "112/112 [==============================] - 0s 500us/step - loss: 0.0076 - acc: 1.0000\n",
      "Epoch 292/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0079 - acc: 1.0000\n",
      "Epoch 293/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0075 - acc: 1.0000\n",
      "Epoch 294/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0076 - acc: 1.0000\n",
      "Epoch 295/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0074 - acc: 1.0000\n",
      "Epoch 296/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0077 - acc: 1.0000\n",
      "Epoch 297/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0092 - acc: 1.0000\n",
      "Epoch 298/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0075 - acc: 1.0000\n",
      "Epoch 299/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0075 - acc: 1.0000\n",
      "Epoch 300/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0081 - acc: 1.0000\n",
      "Epoch 301/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0075 - acc: 1.0000\n",
      "Epoch 302/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0081 - acc: 1.0000\n",
      "Epoch 303/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0069 - acc: 1.0000\n",
      "Epoch 304/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0067 - acc: 1.0000\n",
      "Epoch 305/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0072 - acc: 1.0000\n",
      "Epoch 306/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0069 - acc: 1.0000\n",
      "Epoch 307/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0067 - acc: 1.0000\n",
      "Epoch 308/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0069 - acc: 1.0000\n",
      "Epoch 309/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0065 - acc: 1.0000\n",
      "Epoch 310/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0071 - acc: 1.0000\n",
      "Epoch 311/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0077 - acc: 1.0000\n",
      "Epoch 312/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0063 - acc: 1.0000\n",
      "Epoch 313/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0069 - acc: 1.0000\n",
      "Epoch 314/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0072 - acc: 1.0000\n",
      "Epoch 315/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0064 - acc: 1.0000\n",
      "Epoch 316/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0070 - acc: 1.0000\n",
      "Epoch 317/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0070 - acc: 1.0000\n",
      "Epoch 318/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0070 - acc: 1.0000\n",
      "Epoch 319/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0064 - acc: 1.0000\n",
      "Epoch 320/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0061 - acc: 1.0000\n",
      "Epoch 321/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0061 - acc: 1.0000\n",
      "Epoch 322/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0059 - acc: 1.0000\n",
      "Epoch 323/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0066 - acc: 1.0000\n",
      "Epoch 324/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0058 - acc: 1.0000\n",
      "Epoch 325/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0062 - acc: 1.0000\n",
      "Epoch 326/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0073 - acc: 1.0000\n",
      "Epoch 327/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0059 - acc: 1.0000\n",
      "Epoch 328/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 357us/step - loss: 0.0062 - acc: 1.0000\n",
      "Epoch 329/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0072 - acc: 1.0000\n",
      "Epoch 330/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0069 - acc: 1.0000\n",
      "Epoch 331/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0053 - acc: 1.0000\n",
      "Epoch 332/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0062 - acc: 1.0000\n",
      "Epoch 333/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0062 - acc: 1.0000\n",
      "Epoch 334/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0055 - acc: 1.0000\n",
      "Epoch 335/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0054 - acc: 1.0000\n",
      "Epoch 336/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0053 - acc: 1.0000\n",
      "Epoch 337/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0058 - acc: 1.0000\n",
      "Epoch 338/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0055 - acc: 1.0000\n",
      "Epoch 339/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0051 - acc: 1.0000\n",
      "Epoch 340/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0056 - acc: 1.0000\n",
      "Epoch 341/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0053 - acc: 1.0000\n",
      "Epoch 342/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0056 - acc: 1.0000\n",
      "Epoch 343/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0053 - acc: 1.0000\n",
      "Epoch 344/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0052 - acc: 1.0000\n",
      "Epoch 345/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0051 - acc: 1.0000\n",
      "Epoch 346/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0057 - acc: 1.0000\n",
      "Epoch 347/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0055 - acc: 1.0000\n",
      "Epoch 348/500\n",
      "112/112 [==============================] - 0s 312us/step - loss: 0.0048 - acc: 1.0000\n",
      "Epoch 349/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0054 - acc: 1.0000\n",
      "Epoch 350/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0048 - acc: 1.0000\n",
      "Epoch 351/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0047 - acc: 1.0000\n",
      "Epoch 352/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0047 - acc: 1.0000\n",
      "Epoch 353/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0045 - acc: 1.0000\n",
      "Epoch 354/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0046 - acc: 1.0000\n",
      "Epoch 355/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0047 - acc: 1.0000\n",
      "Epoch 356/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0046 - acc: 1.0000\n",
      "Epoch 357/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0047 - acc: 1.0000\n",
      "Epoch 358/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0050 - acc: 1.0000\n",
      "Epoch 359/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0044 - acc: 1.0000\n",
      "Epoch 360/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0045 - acc: 1.0000\n",
      "Epoch 361/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0049 - acc: 1.0000\n",
      "Epoch 362/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0044 - acc: 1.0000\n",
      "Epoch 363/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0057 - acc: 1.0000\n",
      "Epoch 364/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0041 - acc: 1.0000\n",
      "Epoch 365/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0053 - acc: 1.0000\n",
      "Epoch 366/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 367/500\n",
      "112/112 [==============================] - 0s 580us/step - loss: 0.0044 - acc: 1.0000\n",
      "Epoch 368/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0046 - acc: 1.0000\n",
      "Epoch 369/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0037 - acc: 1.0000\n",
      "Epoch 370/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0043 - acc: 1.0000\n",
      "Epoch 371/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0040 - acc: 1.0000\n",
      "Epoch 372/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 373/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0040 - acc: 1.0000\n",
      "Epoch 374/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0041 - acc: 1.0000\n",
      "Epoch 375/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 376/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0039 - acc: 1.0000\n",
      "Epoch 377/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0039 - acc: 1.0000\n",
      "Epoch 378/500\n",
      "112/112 [==============================] - 0s 589us/step - loss: 0.0041 - acc: 1.0000\n",
      "Epoch 379/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0046 - acc: 1.0000\n",
      "Epoch 380/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0037 - acc: 1.0000\n",
      "Epoch 381/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0040 - acc: 1.0000\n",
      "Epoch 382/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0040 - acc: 1.0000\n",
      "Epoch 383/500\n",
      "112/112 [==============================] - 0s 500us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 384/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0037 - acc: 1.0000\n",
      "Epoch 385/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 386/500\n",
      "112/112 [==============================] - 0s 500us/step - loss: 0.0036 - acc: 1.0000\n",
      "Epoch 387/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0037 - acc: 1.0000\n",
      "Epoch 388/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0034 - acc: 1.0000\n",
      "Epoch 389/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0035 - acc: 1.0000\n",
      "Epoch 390/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0042 - acc: 1.0000\n",
      "Epoch 391/500\n",
      "112/112 [==============================] - 0s 616us/step - loss: 0.0036 - acc: 1.0000\n",
      "Epoch 392/500\n",
      "112/112 [==============================] - 0s 616us/step - loss: 0.0036 - acc: 1.0000\n",
      "Epoch 393/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0033 - acc: 1.0000\n",
      "Epoch 394/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0033 - acc: 1.0000\n",
      "Epoch 395/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0035 - acc: 1.0000\n",
      "Epoch 396/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0033 - acc: 1.0000\n",
      "Epoch 397/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0039 - acc: 1.0000\n",
      "Epoch 398/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0031 - acc: 1.0000\n",
      "Epoch 399/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0035 - acc: 1.0000\n",
      "Epoch 400/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0035 - acc: 1.0000\n",
      "Epoch 401/500\n",
      "112/112 [==============================] - 0s 696us/step - loss: 0.0035 - acc: 1.0000\n",
      "Epoch 402/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0030 - acc: 1.0000\n",
      "Epoch 403/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0031 - acc: 1.0000\n",
      "Epoch 404/500\n",
      "112/112 [==============================] - 0s 535us/step - loss: 0.0032 - acc: 1.0000\n",
      "Epoch 405/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0034 - acc: 1.0000\n",
      "Epoch 406/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0032 - acc: 1.0000\n",
      "Epoch 407/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0030 - acc: 1.0000\n",
      "Epoch 408/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0029 - acc: 1.0000\n",
      "Epoch 409/500\n",
      "112/112 [==============================] - 0s 580us/step - loss: 0.0031 - acc: 1.0000\n",
      "Epoch 410/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 553us/step - loss: 0.0031 - acc: 1.0000\n",
      "Epoch 411/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0036 - acc: 1.0000\n",
      "Epoch 412/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0029 - acc: 1.0000\n",
      "Epoch 413/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0031 - acc: 1.0000\n",
      "Epoch 414/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0028 - acc: 1.0000\n",
      "Epoch 415/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0027 - acc: 1.0000\n",
      "Epoch 416/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0027 - acc: 1.0000\n",
      "Epoch 417/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0030 - acc: 1.0000\n",
      "Epoch 418/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 419/500\n",
      "112/112 [==============================] - 0s 518us/step - loss: 0.0028 - acc: 1.0000\n",
      "Epoch 420/500\n",
      "112/112 [==============================] - 0s 535us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 421/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 422/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0027 - acc: 1.0000\n",
      "Epoch 423/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0029 - acc: 1.0000\n",
      "Epoch 424/500\n",
      "112/112 [==============================] - 0s 482us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 425/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0025 - acc: 1.0000\n",
      "Epoch 426/500\n",
      "112/112 [==============================] - 0s 509us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 427/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 428/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 429/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0025 - acc: 1.0000\n",
      "Epoch 430/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0029 - acc: 1.0000\n",
      "Epoch 431/500\n",
      "112/112 [==============================] - 0s 535us/step - loss: 0.0025 - acc: 1.0000\n",
      "Epoch 432/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0027 - acc: 1.0000\n",
      "Epoch 433/500\n",
      "112/112 [==============================] - ETA: 0s - loss: 1.2219e-06 - acc: 1.000 - 0s 428us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 434/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0024 - acc: 1.0000\n",
      "Epoch 435/500\n",
      "112/112 [==============================] - 0s 544us/step - loss: 0.0024 - acc: 1.0000\n",
      "Epoch 436/500\n",
      "112/112 [==============================] - 0s 562us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 437/500\n",
      "112/112 [==============================] - 0s 535us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 438/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0022 - acc: 1.0000\n",
      "Epoch 439/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0022 - acc: 1.0000\n",
      "Epoch 440/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0022 - acc: 1.0000\n",
      "Epoch 441/500\n",
      "112/112 [==============================] - 0s 634us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 442/500\n",
      "112/112 [==============================] - 0s 526us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 443/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0024 - acc: 1.0000\n",
      "Epoch 444/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0020 - acc: 1.0000\n",
      "Epoch 445/500\n",
      "112/112 [==============================] - 0s 303us/step - loss: 0.0028 - acc: 1.0000\n",
      "Epoch 446/500\n",
      "112/112 [==============================] - 0s 286us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 447/500\n",
      "112/112 [==============================] - 0s 339us/step - loss: 0.0020 - acc: 1.0000\n",
      "Epoch 448/500\n",
      "112/112 [==============================] - 0s 312us/step - loss: 0.0026 - acc: 1.0000\n",
      "Epoch 449/500\n",
      "112/112 [==============================] - 0s 268us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 450/500\n",
      "112/112 [==============================] - 0s 241us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 451/500\n",
      "112/112 [==============================] - 0s 250us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 452/500\n",
      "112/112 [==============================] - 0s 303us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 453/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 454/500\n",
      "112/112 [==============================] - 0s 607us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 455/500\n",
      "112/112 [==============================] - 0s 794us/step - loss: 0.0022 - acc: 1.0000\n",
      "Epoch 456/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0023 - acc: 1.0000\n",
      "Epoch 457/500\n",
      "112/112 [==============================] - 0s 553us/step - loss: 0.0024 - acc: 1.0000\n",
      "Epoch 458/500\n",
      "112/112 [==============================] - 0s 598us/step - loss: 0.0021 - acc: 1.0000\n",
      "Epoch 459/500\n",
      "112/112 [==============================] - 0s 491us/step - loss: 0.0020 - acc: 1.0000\n",
      "Epoch 460/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0018 - acc: 1.0000\n",
      "Epoch 461/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0020 - acc: 1.0000\n",
      "Epoch 462/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0020 - acc: 1.0000\n",
      "Epoch 463/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0019 - acc: 1.0000\n",
      "Epoch 464/500\n",
      "112/112 [==============================] - 0s 455us/step - loss: 0.0019 - acc: 1.0000\n",
      "Epoch 465/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0018 - acc: 1.0000\n",
      "Epoch 466/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 467/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0019 - acc: 1.0000\n",
      "Epoch 468/500\n",
      "112/112 [==============================] - 0s 437us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 469/500\n",
      "112/112 [==============================] - 0s 348us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 470/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0018 - acc: 1.0000\n",
      "Epoch 471/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 472/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 473/500\n",
      "112/112 [==============================] - 0s 366us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 474/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 475/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 476/500\n",
      "112/112 [==============================] - ETA: 0s - loss: 1.1921e-07 - acc: 1.000 - 0s 419us/step - loss: 0.0018 - acc: 1.0000\n",
      "Epoch 477/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 478/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 479/500\n",
      "112/112 [==============================] - 0s 393us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 480/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 481/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0015 - acc: 1.0000\n",
      "Epoch 482/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 483/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0019 - acc: 1.0000\n",
      "Epoch 484/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0025 - acc: 1.0000\n",
      "Epoch 485/500\n",
      "112/112 [==============================] - 0s 402us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 486/500\n",
      "112/112 [==============================] - 0s 473us/step - loss: 0.0014 - acc: 1.0000\n",
      "Epoch 487/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 488/500\n",
      "112/112 [==============================] - 0s 419us/step - loss: 0.0017 - acc: 1.0000\n",
      "Epoch 489/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 490/500\n",
      "112/112 [==============================] - 0s 375us/step - loss: 0.0013 - acc: 1.0000\n",
      "Epoch 491/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "112/112 [==============================] - 0s 366us/step - loss: 0.0015 - acc: 1.0000\n",
      "Epoch 492/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0014 - acc: 1.0000\n",
      "Epoch 493/500\n",
      "112/112 [==============================] - 0s 384us/step - loss: 0.0013 - acc: 1.0000\n",
      "Epoch 494/500\n",
      "112/112 [==============================] - 0s 428us/step - loss: 0.0014 - acc: 1.0000\n",
      "Epoch 495/500\n",
      "112/112 [==============================] - 0s 464us/step - loss: 0.0014 - acc: 1.0000\n",
      "Epoch 496/500\n",
      "112/112 [==============================] - 0s 446us/step - loss: 0.0016 - acc: 1.0000\n",
      "Epoch 497/500\n",
      "112/112 [==============================] - 0s 330us/step - loss: 0.0013 - acc: 1.0000\n",
      "Epoch 498/500\n",
      "112/112 [==============================] - 0s 410us/step - loss: 0.0012 - acc: 1.0000\n",
      "Epoch 499/500\n",
      "112/112 [==============================] - 0s 357us/step - loss: 0.0013 - acc: 1.0000\n",
      "Epoch 500/500\n",
      "112/112 [==============================] - 0s 330us/step - loss: 0.0014 - acc: 1.0000\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x14e97be8ac8>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(X_train_scaled, y_train, epochs = 500, batch_size= 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
